这来自test_symbols_cannot_be_concatenated中的Ruby Koans练习。以前的练习使用过assert_equal
次测试。这是启蒙之路上的第一个assert_raise
。
def test_symbols_cannot_be_concatenated
assert_raise(_____) do
:cats + :dogs
end
end
答案 0 :(得分:7)
NoMethodError
我想,因为尝试对两个符号求和或连接是没有意义的。
答案 1 :(得分:0)
我收到的错误消息是(为了便于阅读而添加了换行符):
[] exception expected, not Class: <NoMethodError>
Message: <"undefined method `+' for :cats:Symbol">
---Backtrace---
/Ruby_on_Rails/koans/about_symbols.rb:89:in
`block in test_symbols_cannot_be_concatenated'
按照模式,我认为我已经建立了寻找“期望但是”的模式,我认为答案是“exception
”。这显然不起作用,但根据noodl的回答,我意识到对于assert_raise()
,线索是预期被调用的类,在这种情况下&lt; NoMethodError
&gt;。
这似乎与APIdock处的文档一致,表明每个args都被评估为__check_exception_class