如何使用FEST声明列表不包含某些内容?

时间:2014-05-15 14:37:07

标签: java testing fest

我正在使用FEST在JUnit中编写断言。

很容易断言列表包含一些元素:

assertThat(list).contains(2,4);

但是如何断言列表中没有包含某些内容?像:

assertThat(list).doesnotContain(3); // !!! no such method

1 个答案:

答案 0 :(得分:8)

我刚刚浏览了版本1分支的源代码,发现了这个:

/**
 * Verifies that the actual group of objects does not contain the given objects.
 *
 * @param objects the objects that the group of objects should exclude.
 * @return this assertion object.
 * @throws AssertionError       if the actual group of objects is {@code null}.
 * @throws NullPointerException if the given array is {@code null}.
 * @throws AssertionError       if the actual group of objects contains any of the given objects.
 */
public final @Nonnull S excludes(@Nonnull Object... objects) {
    assertExcludes(objects);
    return myself();
}

我可能不应该做出这样的疯狂假设,但它与你的contains方法(ObjectGroupAssert)在同一个类中,而Javadoc似乎描述了你的功能#39;正在寻找。

所以我想,你只需要:

assertThat(list).excludes(5,7);