【发布时间】:2013-07-19 09:52:17
【问题描述】:
如何在我正在测试的班级中使用 Mockito 模拟其他班级?
例如:
MyClass.java
class MyClass {
public boolean performAnything() {
AnythingPerformerClass clazz = new AnythingPerformerClass();
return clazz.doSomething();
}
}
AnythingPerformerClass.java
class AnythingPerformerClass {
public boolean doSomething() {
//very very complex logic
return result;
}
}
并测试:
@Test
public void testPerformAnything() throws Exception {
MyClass clazz = new MyClass();
Assert.assertTrue(clazz.performAnything());
}
我可以欺骗AnythingPerformerClass 以从AnythingPerformerClass 中排除不必要的逻辑吗?我可以覆盖doSomething() 方法以简单返回true 或false?
为什么我指定 Mockito,因为我需要它来使用 Robolectric 进行 Android 测试。
【问题讨论】:
-
为什么要为每个方法调用实例化一个类的实例?这看起来严重矫枉过正
标签: java unit-testing junit4 mockito robolectric