我需要写一些测试,像这样
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.*
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("ent.test", appContext.packageName)
}
}
为了使它工作,我添加了这个依赖项:
testImplementation "androidx.test.ext:junit-ktx:${project.test.JUnit}"
但一切都以红色突出显示,依赖关系未被识别,我更改为
implementation "androidx.test.ext:junit-ktx:${project.test.JUnit}"
一切正常
据我了解,对于测试依赖项,您需要使用testImplementation
,以免将它们与将要进入构建的依赖项混合,但问题是,为什么当我使用testImplementation
它时,依赖项不被识别?
testImplementation
- 用于本地测试(在 PC 上)androidTestImplementation
- 用于 Android 上的测试这些测试的代码应分别位于
test
和文件夹中androidTest
。您可以创建一个新的空项目 - 模板包含所有内容以及两个测试的示例