在尝试完成 about_method koans 时,我一直在第 39 行和第 42 行遇到“类型不匹配:给定字符串”错误。我的第一个问题是为什么会出现错误?我的第二个问题是我自己如何用 irb 解决这个问题?
公案
require File.expand_path(File.dirname(__FILE__) + '/neo')
def my_global_method(a,b)
a + b
end
class AboutMethods < Neo::Koan
def test_calling_global_methods_with_wrong_number_of_arguments
exception = assert_raise(ArgumentError) do
my_global_method
end
assert_match(/__/, exception.message)
exception = assert_raise(ArgumentError) do
my_global_method(1,2,3)
end
assert_match(/__/, exception.message)
end
#...
end
错误与我的工作
A. 如果我将断言更改为
assert_match(/"参数个数错误(0 代表 2)"/, exception.message)
结果是:
预期“错误数量的参数(0 代表 2)”匹配 /“错误数量的参数(0 代表 2)”/
B.如果我将其更改为
assert_match("错误数量的参数 (0 代表 2)", exception.message)
结果是:
类型不匹配:给定字符串
我对两个 assert_match 行都得到了相同的结果。