Android Studio -> 测试通过:0 通过
Android Studio -> Test Passed: 0 passed
欢迎大家,我请求帮助解决这个问题。我正在做这个教程来刷新记忆并用最新的技术更新我的知识:Developing Android Apps with Kotlin
https://classroom.udacity.com/courses/ud9012
class6,第10课,有这个源码:https://github.com/udacity/andfun-kotlin-sleep-tracker/tree/Step.03-Solution-Create-RoomDatabase
@Test
@Throws(Exception::class)
fun insertAndGetNight() {
val night = SleepNight()
sleepDao.insert(night)
val tonight = sleepDao.getTonight()
assertEquals(tonight?.sleepQuality, -1)
}
按理说应该通过测试,结果执行后,returns这个:
Test Passed: 0 passed.
在右边的终端我可以看到这个:
运行宁测试
$ adb shell am instrument -w -m -e debug false -e class 'com.example.android.trackmysleepquality.SleepDatabaseTest#insertAndGetNight' com.example.android.trackmysleepquality.test/android.test.InstrumentationTestRunner
"Run Android instrumented tests using Gradle" option was ignored because this module type is not supported yet.
项目有什么问题,为什么没有通过测试?
我手动写了一个文本,结果是一样的,0个测试通过。这是我添加的测试:
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
此外,我尝试在测试设置(转到文件>>设置>>测试)中取消选中 运行 Android 仪器测试旁边的框,结果相同.
我下载了源代码,发现缺少 **testInstrumentationRunner ** 所以你需要在 gradle.build
中添加它
defaultConfig {
applicationId "com.example.android.trackmysleepquality"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
并且房间操作需要在协程范围内,所以没有它编译器会报错
@Test
@Throws(Exception::class)
fun insertAndGetNight() {
runBlocking {
val night = SleepNight()
sleepDao.insert(night)
val tonight = sleepDao.getTonight()
assertEquals(tonight?.sleepQuality, -1)
}
}
欢迎大家,我请求帮助解决这个问题。我正在做这个教程来刷新记忆并用最新的技术更新我的知识:Developing Android Apps with Kotlin
https://classroom.udacity.com/courses/ud9012
class6,第10课,有这个源码:https://github.com/udacity/andfun-kotlin-sleep-tracker/tree/Step.03-Solution-Create-RoomDatabase
@Test
@Throws(Exception::class)
fun insertAndGetNight() {
val night = SleepNight()
sleepDao.insert(night)
val tonight = sleepDao.getTonight()
assertEquals(tonight?.sleepQuality, -1)
}
按理说应该通过测试,结果执行后,returns这个:
Test Passed: 0 passed.
在右边的终端我可以看到这个:
运行宁测试
$ adb shell am instrument -w -m -e debug false -e class 'com.example.android.trackmysleepquality.SleepDatabaseTest#insertAndGetNight' com.example.android.trackmysleepquality.test/android.test.InstrumentationTestRunner
"Run Android instrumented tests using Gradle" option was ignored because this module type is not supported yet.
项目有什么问题,为什么没有通过测试?
我手动写了一个文本,结果是一样的,0个测试通过。这是我添加的测试:
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
此外,我尝试在测试设置(转到文件>>设置>>测试)中取消选中 运行 Android 仪器测试旁边的框,结果相同.
我下载了源代码,发现缺少 **testInstrumentationRunner ** 所以你需要在 gradle.build
中添加它 defaultConfig {
applicationId "com.example.android.trackmysleepquality"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
并且房间操作需要在协程范围内,所以没有它编译器会报错
@Test
@Throws(Exception::class)
fun insertAndGetNight() {
runBlocking {
val night = SleepNight()
sleepDao.insert(night)
val tonight = sleepDao.getTonight()
assertEquals(tonight?.sleepQuality, -1)
}
}