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 に答える