1
我正在使用JUnit 4(junit-4.8.2.jar)在我的Java項目上運行測試,並在使用assumeTrue時遇到問題。我有這樣的基本設置:在JUnit4中假設True錯誤而不是忽略測試
public class ClientTest extends TestCase {
@BeforeClass
public void setUp() {
assumeTrue(isPaidAccount());
}
@Test
public void testTheThings() {
// run this test if the user has a paid account
}
}
的方法isPaidAccount()就要回來了假,這是預期的,但不是在類中的測試被忽略,他們都回來爲錯誤。 Eclipse中使用JUnit4測試運行器以及maven都會發生這種情況。我也曾嘗試移動assumeTrue成@Before方法,像這樣:
public class ClientTest extends TestCase {
@BeforeClass
public void setUp() {
// set up
}
@Before
public void mustHavePaidAccount() {
assumeTrue(isPaidAccount());
}
@Test
public void testTheThings() {
// run this test if the user has a paid account
}
}
然而,當我這樣做它完全忽略了@Before方法,只是運行測試反正。同樣,我在Eclipse Test Runner和Maven中都得到了相同的行爲。我確信我正在做一些明顯不正確的事情,但我不確定它是什麼。
是的!奇蹟般有效。 –