我想编写一个BaseTest
简单地为所有扩展子类提供“通用setUp()
方法”的类:
public class BaseTest {
@Before
public void setUp() {
System.out.println("setUp() was called!");
// Doesn't really matter what this is doing...
EnvironmentConfigurator.configureEnvForTesting();
}
}
然后:
public class WidgetTest extends BaseTest {
@Test
public void test1() {
fail();
}
@Test
public void test2() {
fail();
}
}
所以理想情况下,每次@Test
执行注解的子类方法时,JUnit 都会首先调用该BaseTest#setUp()
方法,该方法执行任何操作(并不重要)。也许它将一些模拟状态重置为初始值,以便每个测试都可以从“干净的石板”开始,等等。同样,这并不重要。
不幸的是,当我运行这段代码时,我只看到setUp() was called!
打印到屏幕一次,所以显然BaseTest
没有按照我想要的方式“包装”我@Test
的方法。有什么办法可以做到这一点?提前致谢!