Использование Robotric для тестирования Junit

Нет такого файла манифеста: build/intermediates/bundles/debug/app/src/main/AndroidManifest.xml

Упоминается - Robolectric говорит, что AndroidManifest.xml не найден

https://github.com/robolectric/robolectric/issues/1648, но не полезный.


person Sneha Maheshwari    schedule 05.06.2017    source источник
comment
Где вы разместили свой тестовый класс? не могли бы вы распечатать структуру вашего проекта, пожалуйста?   -  person Dany Pop    schedule 05.06.2017
comment
Мой тестовый класс написан в app/src/test/java/com.packagename/MainActivityTest.   -  person Sneha Maheshwari    schedule 06.06.2017


Ответы (2)


Проверьте свой град и свой класс:

Грейдл:

 testCompile 'org.robolectric:robolectric:3.3'
 testCompile 'junit:junit:4.12'
 testCompile 'org.assertj:assertj-core:1.7.1'

В вашем тестовом классе:

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 25)
public class YourTest {

    @Test
    public void shouldNotBeNull() throws Exception {
       //put your test here for example
    }
)

Ваш класс Test должен быть помещен в папку Test (не в папку AndroidTest)

В Android-студии:

  • Изменить конфигурации
  • В Junit вы должны изменить рабочий каталог на $MODULE_DIR$. Важная вещь — это $MODULE_DIR$.
person Dany Pop    schedule 06.06.2017

Вы можете исправить предупреждение Нет такого файла манифеста: ./AndroidManifest.xml, обновив файл gradle.

Добавьте следующую строку в файл gradle, чтобы использовать правильный манифест Android. Параметр includeAndroidResources позволяет вам получить доступ к ресурсам Android в ваших модульных тестах, включая файл AndroidManifest. приложение/build.gradle

testOptions.unitTests {
    includeAndroidResources = true
}

источник: https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-testing-basics/index.html?index=..%2F..index#7

person kwounsu    schedule 14.07.2020