12
import static org.junit.matchers.JUnitMatchers.both;
import static org.junit.matchers.JUnitMatchers.containsString;

现在我检查它是否包含 foo 和 bar 如下...

        Assert.assertThat(text,
            both(containsString("foo")).
            and(containsString("bar")));

什么是最干净的测试方法,还要检查它是否包含 3 个或更多字符串,例如 'foo'、'bar' 和 'baz' ?

4

2 回答 2

25

使用AllOf

 Assert.assertThat(test, CoreMatchers.allOf(
      containsString("foo"),
      containsString("bar"),
      containsString("bar2"),
      containsString("ba3")));
于 2013-07-01T11:55:36.587 回答
3

我不知道纯 JUnit 的优雅方式,但你可以看看Fixtures for Easy Software Testing

我使用它已经有一段时间了,它让我变得更容易了。

assertThat(text).contains("foo").contains("bar");
于 2013-07-01T11:56:07.770 回答