【问题标题】:Junit exception testJunit异常测试
【发布时间】:2011-01-28 13:22:45
【问题描述】:

我有两个测试来检查预期的异常抛出。我正在使用 Junit 4 并具有以下语法。

@Test(expected=IllegalArgumentException.class)
public void testSomething(){
..........
}

即使抛出 IllegalArgumentException 而其他测试通过,其中一个测试也会失败。知道缺少什么吗?我修改了未能遵循的测试并通过了。

public void testSomething(){
 try{
  ............ //line that throws exception
  fail();
 }catch(IllegalArgumentException e) {
 }
} 

【问题讨论】:

    标签: java junit4


    【解决方案1】:

    这只是我注意到第二个测试根本没有 @Test 注释的东西。即使方法名称以 test*** 开头,JUNIT4 也不会运行未注释的测试(当然,除非您实际上扩展了 TestCase 类,在这种情况下它的行为类似于 JUNIT3.x 测试用例)

    也许测试根本没有运行(因此让您认为它通过了)?

    【讨论】:

    • 冷静好发现。是的,我确实扩展了 TestCase 并且没有 @test。我试图混合junit 3和4。它现在可以工作了。我必须导入静态 org.junit.Assert.*;不扩展 testCase 并添加 @test
    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多