Класс не найден, пустой набор тестов в androidTest с использованием Android Studio 3.0.1, Room, Kotlin

У меня проблема с запуском моего androidTest.

Вот моя установка в градиенте:

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion 26 defaultConfig { applicationId "com.blabla.shoppinglistapp" minSdkVersion 17 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } ext.daggerVersion = '2.11' ext.roomVersion = '1.0.0' ext.mockitoVersion = '2.11.0' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support:design:26.1.0' implementation 'com.android.support:recyclerview-v7:26.1.0' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-android:2.8.47' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' // ViewModel and LiveData implementation "android.arch.lifecycle:extensions:1.0.0" annotationProcessor "android.arch.lifecycle:compiler:1.0.0" // RxJava implementation 'io.reactivex.rxjava2:rxjava:2.1.5' implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0' // Room implementation "android.arch.persistence.room:runtime:$roomVersion" implementation "android.arch.persistence.room:rxjava2:$roomVersion" kapt "android.arch.persistence.room:compiler:$roomVersion" implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.10" androidTestImplementation "android.arch.persistence.room:testing:$roomVersion" // Gson implementation 'com.google.code.gson:gson:2.8.2' } 

И вот тест (почти ничего здесь):

 @RunWith(AndroidJUnit4::class) class ShoppingListDaoTest { @Test fun useAppContext() { // Context of the app under test. val appContext = InstrumentationRegistry.getTargetContext() assertEquals("com.blabla.shoppinglistapp", appContext.packageName) } private lateinit var database: ShoppingListDatabase @Before fun initDb() { // using an in-memory database because the information stored here disappears after test database = Room.inMemoryDatabaseBuilder(InstrumentationRegistry.getContext(), ShoppingListDatabase::class.java) // allowing main thread queries, just for testing .allowMainThreadQueries() .build() } @After fun closeDb() { database.close() } @Test fun testGetActiveShoppingListWhenNoActiveShoppingListInserted() { database.shoppingListDao().getActiveShoppingLists() .test() .assertNoValues() } } 

Когда я пытаюсь запустить тест, я получаю следующее:

Процесс завершен с кодом выхода 1 Класс не найден: «com.blabla.shoppinglistapp.ShoppingListDaoTest» Пустой набор тестов.

И он не начинается

ОБНОВИТЬ

Я заметил кое-что очень плохое. Когда я начал новый проект в Android Studio и попытался запустить по умолчанию androidTest, он дает мне известную ошибку:

Ошибка: Gradle: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: ошибка AAPT2: проверьте журналы для получения более подробной информации

Для этого нужно добавить эту строку в gradle.properties:

android.enableAapt2 = ложь

Это шаги, которые я сделал ранее в моем первоначальном проекте (я тоже столкнулся с этой ошибкой). К сожалению, после этого он дает мне ошибку из моего вопроса. Так что на самом деле дело в том, как решить isse с помощью aapt2, чтобы сделать эту работу. См. Также: Ошибка AAPT2: проверьте журналы для получения подробной информации, после того как рабочая станция androidTest не работает

Есть идеи?