我最近开始在Android上进行测试,并且一直在玩Robolectric和Mockito。我可以使用Robolectric来模拟活动的生命周期。
但是,我的代码依赖静态util函数来检索先前在启动时创建的对象。
有没有办法模拟一个util类来返回一个模拟对象(最好是与真实对象相同的类型)?一直使用Robolectric来控制活动生命周期。
public class SomeActivity extends Activity
{
@Override
public void onCreate( Bundle b )
{
super.onCreate(b);
Something thing = SomeUtil.getSomething(); //I want to put my mocked obj in 'thing'
}
}
class SomeUtil
{
Something something;
// I want to mock what this func returns by returning my own mock obj
public static Something getSomething()
{
return something;
}
}
我不仅限于使用Robolectric或Mockito。
答案 0 :(得分:1)
我没有亲自使用它,但我听说PowerMock允许你模拟静态方法。
根据我的经验,我发现尽可能完全避免使用静态方法并依赖依赖注入/ mockito来模拟依赖关系。