我编写了一个方法(使用 BlueJ),它将用户的银行帐户信息作为单行描述返回:
public String toString()
{
return (acctNumber + "\t" + name + "\t" + fmt.format(balance));
}
我为该方法编写了一个单元测试,如下所示:
public void testToString()
{
Account account1 = new Account("Aurora", 772340912, 1000.00f);
assertEquals("Test account toString failed.", "772340912 Aurora $1,000.00", account1.toString());
}
我查看了 BlueJ 中的“Resources”文件夹,里面写着:bluej.editor.tabsize=4
所以我认为这意味着一个制表符等于 4 个空格。然而,即使我在预期输出中使用了四个空格,我的单元测试仍然失败。有任何想法吗?预先感谢您!
最佳答案
制表符不是四个空格。 bluej.editor.tabsize=4
表示 BlueJ 系统将选项卡渲染为四个空格。
但是,无论如何呈现,制表符仍然是制表符,与空格完全不同。 '\t' == 11
,而 ' ' == 32
和 ""
甚至无法与 进行比较int
因为它是 String
,而不是 char
。
对于预期的字符串,请使用 "\t"
而不是 ""
。
关于java - 为什么我的预期字符串与输出不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503680/