字符串包含在Hamcrest的AnyOrder匹配器中



Hamcrest中有一个StringContainsInOrder匹配器。

如何断言一个字符串包含任意顺序的字符串集合?

您可以组合多个contains匹配器。

assertThat("this is a string", allOf(
  contains("string"),
  contains("this"),
  contains("a")));

这是不可能的,因为Hamcrest检查集合的方式。

它正在迭代,看这里:https://code.google.com/p/hamcrest/source/browse/trunk/hamcrest-java/hamcrest-library/src/main/java/org/hamcrest/text/StringContainsInOrder.java?r=375

你可以:

1) 测试每个订单是否为短字符串(无效)

2) 对进行几次分类和测试,认为它将覆盖90%以上的情况(不充分)

希望能有所帮助。

最新更新