我正在使用JUnit 4(junit-4.8.2.jar)在我的Java项目上运行测试,并在使用assumeTrue时遇到问题.我有这个基本设置:
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
}
}
Run Code Online (Sandbox Code Playgroud)
方法isPaidAccount()返回false,这是预期的,但是忽略了类中的测试,它们都将作为错误返回.这在Eclipse中与JUnit4 Test Runner以及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
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,它完全忽略了@Before方法,无论如何都只是运行测试.同样,我对Eclipse Test Runner和maven都有相同的行为.我确定我做的事情显然不正确,但我不确定它是什么.
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |