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中都得到了相同的行为。我确信我正在做一些明显不正确的事情,但我不确定它是什么。
是的!奇迹般有效。 –