我正在测试一种方法,看它是否返回正确的字符串。这个字符串由很多行组成,它们的顺序可能会改变,因此通常会给出 2 种可能的组合。该顺序对我的申请并不重要。
但是,因为行的顺序可能会改变,只写一个Assert语句是行不通的,因为有时它会通过测试,有时它会失败。
那么,是否可以编写一个测试,将实际字符串值与 2 个或更多预期字符串值进行断言,并查看它是否等于其中任何一个?
原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答730 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
使用 Hamcrest
CoreMatcher
(包含在 JUnit 4.4 及更高版本中)和assertThat()
: