问题描述
我使用的是 Android Studio 4.2 在运行 SleepDatabaseTest.kt 时,为了测试数据库,我面临以下超时消息。任何帮助找出解决问题的方法将不胜感激,我正在尝试遵循有关 Android 应用程序开发的 Udacity 教程 - 链接:https://youtu.be/DMPAAPX_nyQ
消息:
07/11 17:40:29: Launching 'SleepDatabaseTest' on samsung SM-G960F.
App restart successful without requiring a re-install.
Running tests
$ adb shell am instrument -w -m -e debug false -e class 'com.example.android.trackmysleepquality.SleepDatabaseTest' com.example.android.trackmysleepquality.test/android.test.InstrumentationTestRunner
Timed out waiting for process (com.example.android.trackmysleepquality) to appear on samsung-sm_g960f-21dcc75cd50c7ece.
SleepDatabaseTest.kt 的写法如下——
package com.example.android.trackmysleepquality
import android.util.Log
import androidx.room.Room
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import com.example.android.trackmysleepquality.database.SleepDatabase
import com.example.android.trackmysleepquality.database.SleepDatabaseDao
import com.example.android.trackmysleepquality.database.SleepNight
import org.junit.Assert.assertEquals
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import java.io.IOException
@RunWith(AndroidJUnit4::class)
class SleepDatabaseTest {
private lateinit var sleepDao: SleepDatabaseDao
private lateinit var db: SleepDatabase
@Before
fun createDb() {
val context = InstrumentationRegistry.getInstrumentation().targetContext
db = Room.inMemoryDatabaseBuilder(context,SleepDatabase::class.java)
.allowMainThreadQueries()
.build()
sleepDao = db.sleepDatabaseDao
}
@After
@Throws(IOException::class)
fun closeDb() {
db.close()
}
@Test
@Throws(Exception::class)
fun insertAndGetNight() {
val night = SleepNight()
sleepDao.insert(night)
val tonight = sleepDao.getTonight()
assertEquals(tonight?.sleepQuality,-1)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)