【发布时间】:2014-03-17 00:46:54
【问题描述】:
使用此代码:
public String toString()
{
StringBuilder s = new StringBuilder();
for (int i = 0; i < length; i++)
{
s.append(i).append(":").append(arr[i]).append(", ");
}
s.delete(s.length()-2, s.length()-1);
return s.toString();
}
没有通过这个测试:
@Test
public void testToString()
{
BetterArray<String> b = new BetterArray<String>();
assertEquals("", b.toString());
b.add("hello");
assertEquals("0:hello", b.toString());
b.add("bye");
assertEquals("0:hello, 1:bye", b.toString());
b.add("adios");
assertEquals("0:hello, 1:bye, 2:adios", b.toString());
}
它需要以空字符串 ("") 开头,我这样做是否正确?我是 StringBuilder 的新手。我正在使用 s.delete 删除结尾的逗号和空格
【问题讨论】:
-
错误信息会告诉你比较失败的确切位置。
-
“toString”函数应该显示什么?然后我们可以建议..
-
尝试添加 FluentAssertions。只是更容易阅读和编写测试。您仍然会使用 Junit,但添加 FluentAssertions 会使编写断言变得有趣。
标签: java arrays string tostring