我正在使用Robolectric
进行单元测试,并将我的Robolectric
jar从1.2更新到2.2并试图弄清楚如何在这个新版本中绑定阴影类。这就是我以前做的事情:
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;
}
}
但我认为现在没有bindShadowClass API可用。我尝试使用addShadowClass,但我不确定这是否是添加阴影类的正确方法。我可以使用
吗?ShadowMap a = new ShadowMap.Builder().addShadowClass(ShadowLog.class).build();
我是否需要使用此shadowMap创建一个classHandler或其他东西,如果是,我如何创建和使用该classHandler来访问我的Log类方法?
@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 ");
由于 ABHI
答案 0 :(得分:8)
阴影类的绑定现在替换为@Config
注释。
示例:
@Config(shadows = {ShadowLog.class})