Я новичок в мире тестирования и даже больше в мире тестирования Android. В то время как исследования Robolectric, которые помогают с испытаниями на Android, одна вещь меня путает больше всего. Иногда в Интернете я вижу людей, использующих ключевое слово testCompile
в зависимостях сценария построения градиента при ссылке на Robolectric, в то время как другие используют androidTestCompile
. Конечно, оба не могут быть действительными?Confused about testCompile and androidTestCompile в Android Gradle
Может ли кто-нибудь объяснить разницу между обоими и какие из них должны быть использованы при использовании Robolectric?
Спасибо. Сначала это я понял, но если это так, то почему-то эталонная зависимость robolectric с testCompile и некоторые с androidTestCompile. Разве это не библиотека, которая помогает писать интеграционные тесты? Если да, то не следует ли ссылаться на androidTestCompile? Однако даже официальное руководство robolectric направляет использовать testCompile ... Извините, но это просто слишком запутывает для меня в этот момент, как вы можете видеть. – Lucas
Соглашения об именах немного странные.В принципе, если вы пишете модульные тесты (тесты, которые не будут выполняться на устройстве), то они будут существовать в 'src/test', и поэтому их зависимости принадлежат конфигурации 'testCompile'. Зависимости, добавленные в конфигурацию 'androidTestCompile', будут доступны только для источника в 'src/androidTest', который фактически встроен в APK и развернут на устройстве. –
Спасибо, что указал мне в каком-то направлении. Он не ответил на все мои вопросы, но это помогло мне во время моих исследований. Чтобы уточнить, что вы сказали, Unit Test - это не только те, которые находятся в тестовой папке (по умолчанию). Иронически google вызывает иногда тесты, находящиеся в androidTest, также как Unit Test. Зависит от цели для конкретного теста, но все же добавляет к конфуции. – Lucas