1

我正在尝试使用 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....

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

4

1 回答 1

4

您应该为每个单词创建一个测试。您可以使用参数化测试很容易地做到这一点。

于 2013-03-05T02:42:51.987 回答