【发布时间】:2014-12-05 03:36:14
【问题描述】:
我有一个抽象类,比如AbstractClass,其中我有一个公共 void 方法 myMethod 没有实现。当我测试这个类时,我创建了一个匿名子类,我可以在其中实现myMethod,因为我认为合适。
在AbstractClass 中还有另一种方法,比如myImplementedMethod,它调用myMethod。我可以在匿名子类中放入myMethod,以便能够验证它是否已被调用?
编辑: 我正在使用 Mockito 进行模拟,我不适合使用其他框架。
public abstract class AbstractClass {
public abstract void myMethod();
public void myImplementedMethod() {
myMethod();
}
public class AbstractClassTest {
@Before
public void setUp() {
AbstractClass myClass = new AbstractClass() {
@Override
public void myMethod(){
//What could I put here?
}
}
}
@Test
public void testMyImplementedMethod() {
myClass.myImplementedMethod();
//check that myMethod is called.
}
}
【问题讨论】:
-
看看模拟框架。
-
哦,我正在使用 Mockito
-
然后检查以确保它被调用。如果子类不存在,它甚至无法编译。您具体要测试什么?
-
如何检查它是否被调用?
标签: java junit abstract-class mockito