Я следил за документацией Robolectric для создания теневых классов, но я не могу запускать теневые методы во время теста, он всегда использует оригинальные методы.Невозможно создать теневые классы с Robolectric 3
Это мой код:
оригинала класс:
public class Original {
public void print(){
System.out.println("Hi from original class!");
}
}
класс Shadow:
@Implements(Original.class)
public class ShadowOriginal {
@Implementation
public void print(){
System.out.println("Hi from shadow class!");
}
}
тест:
@RunWith(RobolectricGradleTestRunner.class)
@Config(manifest = "src/main/AndroidManifest.xml",
emulateSdk = 21,
reportSdk = 21,
constants = BuildConfig.class,
shadows = {ShadowOriginal.class})
public class OasisTests {
@Test
public void test() {
Original t = new Original();
t.print();
}
}
Когда я запускаю тесты , он всегда отображает "Hi from original class!"
Что не так в моем коде? Я использую
- Android студия 1,2
- robolectric 3,0-код2
- robolectric-Gradle-плагин 1.0.1
Как я могу решить эту проблему?
Заранее спасибо
Вы построили код «robolectric» с новым классом теней? – KOTIOS
Да, да. Класс ShadowOriginal создается с помощью тестов. – reevolt
ОК, поэтому банку, которая была построена с помощью урской сборки, добавила? – KOTIOS