gpt4 book ai didi

java - 使用 ArrayList 的方法的 JUnit 测试出现字符串错误

转载 作者:行者123 更新时间:2023-12-01 22:57:08 24 4
gpt4 key购买 nike

这是我得到的错误跟踪:

java.lang.AssertionError: expected: java.lang.String<[{Song: title=Always artist=Blink 182}]> but was: java.util.ArrayList<[{Song: title=Always artist=Blink 182}]>

当我尝试在测试用例中运行这段代码时

assertEquals("[{Song: title=Always artist=Blink 182}]", p.getSongList());

p.getSongList是一个返回 and ArrayList<Song> 的方法。到目前为止我只添加了一首歌曲,但我对如何将预期输出更改为 java.util.ArrayList 感到困惑而不是java.lang.String 。任何帮助将不胜感激。

最佳答案

您正在将 ArrayList 实例与所需输出的字符串表示形式(即,运行以下命令时得到的String)进行比较输出上的 toString())。相反,您应该只构建您期望的实际输出。

您的问题没有提供您的 Song 类的代码,所以我猜测它只是一个 POJO:

Song expectedSong = new Song();
expectedSong.setTitle("Always");
expectedSong.setArtist("Blink 182");
ArrayList<Song> expectedList = new ArrayList<>(1);
expectedList.add(song);
assertEquals(expectedList, p.getSongList());

关于java - 使用 ArrayList 的方法的 JUnit 测试出现字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874913/

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