5
我想寫一個BaseTest
類,只是提供了一個「通用setUp()
法」爲所有擴展子類:的JUnit基礎測試自動設置
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
方法就是我想要的。有什麼辦法可以做到這一點?提前致謝!
Thanks @Bedwyr Humphreys(+1) - 我將我的'fail()'語句改爲分號(強制測試方法通過),是的,父'setUp()'方法被調用兩次。所以必須有一些關於使用這個設置結合失敗的測試用例,導致'setUp()'方法只能被調用一次。再次感謝。 – IAmYourFaja
我用fail()(在Eclipse中)運行它,它仍然被調用兩次。 – blank
奇怪...沒關係,刪除'fail()'的作品,所以我很好。再次感謝。 – IAmYourFaja