Използване на Robolectric за тестване на 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)


Проверете степента си и класа си:

Gradle:

 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
    }
)

Класът YourTest трябва да бъде поставен в папка Test (не папка AndroidTest)

В Android Studio:

  • Редактиране на конфигурации
  • В 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
}

src: https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-testing-basics/index.html?index=..%2F..index#7

person kwounsu    schedule 14.07.2020