0

此测试失败:

String validString = new String("12345.78");  
myClass.setStringValue(validString);  
assertEquals( "testSetStringValue: " + validString, validString, myclass.getStringValue() ); 

因为,我假设,即使validString来自的返回值myclass.getStringValue()包含相同的内容12345.78,它们也是不同的对象。

我如何测试它们是否包含相同的东西?

4

2 回答 2

4

assertEquals()equals()用于比较,所以你的测试是好的。如果要测试某个对象实例是否与其他对象实例相同,可以使用assertSame()

有关更多信息,请参阅JUnit 文档

于 2013-03-28T20:06:03.910 回答
1

只需使用assertSame. 但我认为这没有意义,因为它不符合 String 合同。您的任何代码都不应假定字符串是==,它必须依赖于它们是equal

于 2013-03-28T20:07:29.703 回答