我正在通过EdgeCase RubyKoans(www.rubykoans.com)进行攻击,并且我在这里停留在about_methods.rb第35行的方法上.运行rake可以预测失败并告诉我查看第36行.我有理由确定我的assert_match正确("0 for 2")但我不知道什么是失败的.assert_raise(___)行很可能在括号之间有一些东西,但我不知道它应该是什么.任何提示或推动?非常感谢.
编辑:这是违规代码的简短片段:
def my_global_method(a,b)
a + b
end
Run Code Online (Sandbox Code Playgroud)
-snip-
def test_calling_global_methods_with_wrong_number_of_arguments
exception = assert_raise(___) do
my_global_method
end
assert_match(/"0 for 2"/, exception.message)
exception = assert_raise(___) do
my_global_method(1,2,3)
end
assert_match(/__/, exception.message)
end
Run Code Online (Sandbox Code Playgroud)
exception = assert_raise(___) do
Run Code Online (Sandbox Code Playgroud)
您应该用您希望引发的错误替换下划线。错误是一个对象 - 什么样的对象?zetetic 所说的,正则表达式是不正确的。