JUnit assertTrue异常

时间:2013-03-05 02:40:07

标签: java junit assert

我正在尝试使用JUnit 4.0来测试应用程序是否在布尔方法上返回预期的输出。

测试类似于以下内容:

import org.junit.Test;
import static org.junit.Assert.*;

public class ExampleTest{
    @Test
    public void somethingTest(){
         String [] words={"one","two","one","two","one","two","one","two"};
         for(String word:words){
             Example example = new Example(word);
             if(word.startsWith("o")){
                 assertTrue(example.isO());
             }else{
                 assertFalse(example.isO());
             }
         } 
    }
}

当我运行测试时,正确的断言工作正常。虽然当我得到一个失败的断言时,抛出异常并且测试停止返回这个堆栈:

java.lang.AssertionError
    at org.junit.Assert.fail(Assert.java:92)
    at org.junit.Assert.assertTrue(Assert.java:43)
    at org.junit.Assert.assertTrue(Assert.java:54)
    at core.ExampleTest.somethingTest....

我需要的是正常继续测试,并在最后给我一些通过和失败的测试。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

您应该为每个单词创建一个单独的测试。您可以使用parameterized tests轻松完成此操作。