Как добавить теневой класс при использовании Robolectric 2.2?
Я использую Robolectric
для моего модульного тестирования и обновил мой Robolectric
jar от 1.2 до 2.2 и пытается выяснить, как связать теневые классы в этой новой версии. Вот что я делал раньше:--7-->
Robolectric.bindShadowClass(ShadowLog.class);
@Implements(Log.class)
public static class ShadowLog {
public static int i(java.lang.String tag, java.lang.String msg) {
System.out.println("[" + tag + "] " + msg);
return 0;
}
}
но я думаю, что теперь нет API BINDSHADOWCLASS. Я попытался использовать addShadowClass, но я не уверен, что это правильный способ добавить теневой класс. Могу ли я просто использовать
ShadowMap a = new ShadowMap.Builder().addShadowClass(ShadowLog.class).build();
мне нужно создать classHandler или что-то с помощью этого shadowMap и если да, то как создать и использовать этот classHandler для получения доступа к моим методам класса журнала?
@Implements(Log.class)
public static class ShadowLog {
public static int i(java.lang.String tag, java.lang.String msg) {
System.out.println("[" + tag + "] " + msg);
return 0;
}
}
а то Log.i("LogTest", "log message ");
спасибо Абхи!--7-->
1 ответов
привязка теневых классов теперь заменяется на @Config
Примечание.
пример:
@Config(shadows = {ShadowLog.class})
см. также мой ответ на этот вопрос и блог Robolectric.