我正在编写一个JUnit测试,用于检查一个统一字符串中的消息(每行一条消息)。格式如下:
[* Alice *的留言]
嘿,第一条消息
第二条消息
[* Jim *的留言]
奥莱
你在吗?
[* General Messages *]
欢迎大家!
这是另一条消息。
问题是我收到的实际字符串顺序可能会改变(除了总是出现在字符串末尾的常规消息)。例如:有一次我可以先获取Jim的消息,所以当我尝试使用assertEquals()时,测试失败。不幸的是,我无法访问生成消息的代码,因此我无法进行任何修改。
比较这些字符串并验证它们是否相同的最佳方法是什么?
答案 0 :(得分:3)
您应该重新组织测试以解决任意重新排序问题,例如:
答案 1 :(得分:2)
你最好比较Set
个消息,因为你所经历的模糊字符串比较会变得太棘手......