我的项目包括几个第三方库,如crashlytics,facebook sdk等。其中一些需要在活动启动时进行初始化,但是在gradle单元测试下它会失败,如何避免这种情况?嘲弄或使用运行时标志绕过它?
答案 0 :(得分:1)
两种方式都可行,但嘲笑是更好的IMO。对于静态方法,您也需要将它们包装在非静态上下文中,因此Mockito可以发挥其魔力。此外,您现在可以对日志执行断言。
Crashlytics,您可以使用Logger接口实例进行换行:
public interface Logger {
void setup(Context context);
....
}
Wrapper本身会调用静态上下文:
public class CrashlyticsLogger implements Logger {
@Override
public void setup(Context context) {
Fabric.with(context, new Crashlytics());
}
...
}