gpt4 book ai didi

java - 比较可能以不同内部顺序出现的字符串

转载 作者:行者123 更新时间:2023-11-29 08:07:27 24 4
gpt4 key购买 nike

我正在编写一个 JUnit 测试,用于检查一个统一字符串中的消息(每行一条消息)。格式如下:

[* Message for Alice *]

Hey, first message

Second message

[* Message for Jim *]

Holler

Are you there?

[* General Messages *]

Welcome everyone!

This is yet another message.

问题是我收到的实际字符串的顺序可能会改变(除了总是出​​现在字符串末尾的一般消息)。例如:有一次我可以先得到 Jim 的消息,所以当我尝试使用 assertEquals() 时,测试失败了。遗憾的是,我无权访问生成消息的代码,因此无法进行任何修改。

比较这些字符串并验证它们是否相同的最佳方法是什么?

最佳答案

您应该重新组织您的测试以解决任意重新排序的问题,例如,像这样:

  • 将字符串拆分成单独的消息
  • 将一般消息和所有其他消息分开
  • 以相同的顺序(例如字母顺序)对预期消息和实际消息进行排序
  • 比较预期消息和实际消息的有序列表。现在它们的顺序相同,它们应该逐项相等
  • 检查常规消息是否在实际消息流中的所有其他消息之后。

关于java - 比较可能以不同内部顺序出现的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com