Я хочу определить модульные тесты для своих классов, и я столкнулся с следующей проблемой. Если я определяю единичный тест внутри папки androidTest (тестирование с помощью инструментария), тогда тест выполняется нормально с действительными результатами. Если, однако, я определяю тест внутри тестовой папки (локальное тестирование), тогда запуск теста генерирует сообщение «class not found:» [classname] «Empty test suite». Это было бы не так уж плохо, и я бы просто запускал все тесты из androidTest, за исключением того, что я хочу использовать покрытие кода, а Android Studio не позволяет мне запускать тесты покрытия из androidTest, но только из теста.Android: местные тесты с охватом кода?
Почему Android Studio не может найти модульные тесты, когда они определены в тестовой папке, но может ли они быть определены в папке androidTest?
Код:
public class SomeTest{
private Context mInstrumentationCtx;
@Before
public void setup() {
mInstrumentationCtx = InstrumentationRegistry.getTargetContext();
// do some setup actions
}
@Test
public void testFirst() throws Exception {
Assert.assertEquals(true, true);
}
}
Gradle конфигурации:
android {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
debug {
testCoverageEnabled = true
}
}
testCompile 'junit:junit:4.12'
testCompile ('com.android.support.test:runner:0.5', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
как вы проводите тесты (которые не работают)? Вы пытались работать на одном уровне класса/dir? –
Щелкните правой кнопкой мыши на тестовом классе - «запустите [testname] с покрытием» – Jon
работает как ожидалось в недавно созданном проекте в последней AS, мы можем попробовать найти diff –