我在Ruby中有一个测试如下
def testSomeObjectsAreEqual
assert_equal( object1, object2 )
end
当此测试失败时,我收到一条错误消息,指出两个对象不相等,并为预期值和实际值提供以下消息样式:
<#<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 值,因为这会使失败消息对我更有用?