私は次のようにRubyでテストを行っています
def testSomeObjectsAreEqual
assert_equal( object1, object2 )
end
このテストが失敗すると、2つのオブジェクトが等しくないことを示すエラーメッセージが表示され、期待値と実際の値に対して次のスタイルのメッセージが表示されます。
<#<Java:com.mynamespace.MyClass:0x1232b3e12>> expected but was
<#<Java:com.mynamespace.MyClass:0x489654ebd>>.
ご覧のとおり、私はJRubyを使用してJavaクラスをインスタンス化しており、それが比較対象のオブジェクトです。Rubyでobject.to_sを印刷しようとすると、わかりやすいメッセージが出力されます。これは、MyClassのJava宣言toString()メソッドに直接マップされているようですが、アサーションの失敗メッセージにはto_sが使用されていないようです。とにかく、Rubyテスト/ユニットにオブジェクトのto_s値を使用させることができますか?これにより、失敗メッセージがはるかに便利になりますか?