我在eclipse中有以下测试用例,使用拒绝通过的JUnit 4。有什么问题?
@Test(expected = IllegalArgumentException.class)
public void testIAE() {
throw new IllegalArgumentException();
}
当尝试使用预期标记测试我自己的代码不起作用时,出现了这个确切的测试用例。我想看看 JUnit 能否通过最基本的测试。它没有。
我还按预期使用自定义异常进行了测试,但没有运气。
我在eclipse中有以下测试用例,使用拒绝通过的JUnit 4。有什么问题?
@Test(expected = IllegalArgumentException.class)
public void testIAE() {
throw new IllegalArgumentException();
}
当尝试使用预期标记测试我自己的代码不起作用时,出现了这个确切的测试用例。我想看看 JUnit 能否通过最基本的测试。它没有。
我还按预期使用自定义异常进行了测试,但没有运气。
问题是您的 AnnounceThreadTest 扩展了 TestCase。因为它扩展了 TestCase,所以 JUnit Runner 将其视为 JUnit 3.8 测试,并且测试正在运行,因为它以单词 test 开头,隐藏了 @Test 注释实际上根本没有被使用的事实。
要解决此问题,请从类定义中删除“扩展 TestCase”。
您可以添加它以使用支持注释的 Junit4 运行您的测试用例,而不是删除 extends TestCase 。
@RunWith(JUnit4.class)
只需使用 JUnit 4.4 在 IntelliJ 中运行它:
@Test(expected = IllegalArgumentException.class)
public void testExpected()
{
throw new IllegalArgumentException();
}
完美通过。
重建整个项目并重试。还有其他事情你做错了。JUnit 4.4 正在像宣传的那样工作。