Как правильно использовать testImplementation?
Мне нужно написать несколько тестов, вот что то такое
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
то зависимость не распознается?
Ответы (1 шт):
Автор решения: woesss
→ Ссылка
testImplementation
- для локальных тестов (на ПК)androidTestImplementation
- для тестов на Андроиде
Код для этих тестов должен лежать в папках test
и androidTest
, соответственно.
Можете создать новый пустой проект - в шаблоне это всё есть с примерами обоих тестов