使用ArrayList的方法的JUnit测试会收到String错误

时间:2014-05-26 17:13:17

标签: java arraylist junit junit4

这是我得到的错误跟踪:

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

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

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

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

1 个答案:

答案 0 :(得分:3)

您正在将ArrayList个实例与所需输出的字符串表示进行比较(例如,如果您运行{{1},则会获得String在输出上)。相反,您应该构建您期望的实际输出。

您的问题没有提供toString()课程的代码,所以我猜测它只是一个POJO:

Song