每次我添加正确的代码时,由于AboutMethods,它给出了相同的错误:每次更改0x00000101841a28数字。这就像卡住了,我不知道如何摆脱这个循环。它工作了一次,然后我继续下一步,但之后它触发了一个错误。
我一定不能输入从控制台给出的正确代码行?
def test_calling_private_methods_with_an_explicit_receiver
exception = assert_raise(NoMethodError) do
self.my_private_method
end
assert_match "private method `my_private_method' called for #<AboutMethods:0x000001008debf8>", exception.message
端
AboutMethods:0x000001008debf8每次更改,不知道如何解决这个问题?
答案 0 :(得分:7)
AboutMethods:0x...
是inspect
方法的输出,通常(在本例中)包含类名(AboutMethods
)和对象ID(0x...
) 。对象id与内存中的对象位置相关,因此每次都会更改。
根据我的经验,从异常中检查字符串没有什么价值(它很脆弱)。但是,如果您觉得有必要,请使用正则表达式:
assert_match /private method `my_private_method' called for \#\<AboutMethods:.*/