Stu*_*DTO 5 testing android kotlin android-espresso
有没有办法让每个测试都有不同的 testInstrumentationRunner ?我必须Task为它创建一个吗?我的跑步者如下:
class MyTestRunner : AndroidJUnitRunner() {
override fun newApplication(
cl: ClassLoader?,
className: String?,
context: Context?
): Application {
return super.newApplication(cl, MyTestApp::class.java.name, context)
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果我想使用真实的应用程序运行一些怎么办?我该如何选择它?
我一直在阅读,在我正在使用它的测试中可以这样做,
@RunWith(AndroidJUnit4ClassRunner::class)但我知道如果我这样做,它需要 defaultConfig 之一
defaultConfig {
testInstrumentationRunner("mypackage.MyTestRunner")
}
Run Code Online (Sandbox Code Playgroud)
但我不能使用它所说的东西Required:KClass<out Runner!>
@RunWith(MyTestRunner::class)
Run Code Online (Sandbox Code Playgroud)
如果我能做到这一点,我就会明白如何使用不同的跑步者。
尝试扩展androidx.test.ext.junit.runners.AndroidJUnit4:
import androidx.test.ext.junit.runners.AndroidJUnit4
class MyTestRunner : AndroidJUnit4() {
...
}
Run Code Online (Sandbox Code Playgroud)
使用的依赖:
// https://mvnrepository.com/artifact/androidx.test.ext
androidTestImplementation "androidx.test.ext:junit:1.1.2"
Run Code Online (Sandbox Code Playgroud)
文档建议将其作为默认运行器,因此应提供 Kotlin 互操作性。仅被文件中的注释KClass<out Runner!>接受。@RunWith.kt
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |