我有两个测试,以检查的预期异常抛出。我使用JUnit 4中,并已语法如下。

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

一的测试失败,即使则抛出并且另一个通行证。任何想法,什么失踪?我修改其未能以下测试,并将其传递。

public void testSomething(){
 try{
  ............ //line that throws exception
  fail();
 }catch(IllegalArgumentException e) {
 }
} 
有帮助吗?

解决方案

Prithis只是我注意到了第二次测试没有@Test标注的。即使该方法名称以测试开始JUNIT4不运行未注释的试验***(当然,除非你实际扩展TestCase类在这种情况下,它的行为就像一个JUNIT3.x测试用例)

也许这是测试未在所有运行的情况下(并因此使你认为它传递)?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top