Java JMockit:重写抽象方法的测试方法
我目前有以下课程:Java JMockit:重写抽象方法的测试方法,java,unit-testing,junit,jmockit,Java,Unit Testing,Junit,Jmockit,我目前有以下课程: public abstract class superClass { abstract void abstractTest(); } public class classForTesting extends superClass { @Override void abstractTest() { ... } } 我目前正在为classForTesting编写一个单元测试(使用JUnit+JMockit),但我不确定如何测试a
public abstract class superClass {
abstract void abstractTest();
}
public class classForTesting extends superClass {
@Override
void abstractTest() {
...
}
}
我目前正在为classForTesting编写一个单元测试(使用JUnit+JMockit),但我不确定如何测试abstractTest()。我试图模拟超类,但仍然无法调用abstractTest()
任何想法都将不胜感激
谢谢大家! 如果不希望abstractTest公开,那么测试调用abstractTest的方法。我还将类名改为以大写字母开头
public abstract class SuperClass {
abstract void abstractTest();
}
public class ClassForTesting extends SuperClass {
@Override
void abstractTest() {
...
}
public void publicMethod() {
abstractTest()
}
}
现在测试方法:
public class PublicTest {
private ClassForTesting classForTesting;
@Before
public void setUp(){
classForTesting = ClassForTesting();
}
@Test
public void testMethod() {
classForTesting.publicMethod();
...
}
}
您不能模拟被测试的类。您通常会模拟依赖项。因此,只需调用方法
abstractTest
并测试所需的行为。感谢@Seelenvirtuose的建议。但是,abstractTest
对任何人都不可见(通过设计),因此不能直接调用它。您对如何处理此类案件有何建议?