如何测试给定的辅助方法仅使用一个参数?
我想到了这样做:
describe "#textile" do
it "should take only one argument" do
textile().should raise_error
end
end
但这似乎仍然无法通过错误
wrong number of arguments 0 for 1
进行测试。 最佳答案
不管您为什么要对此进行测试,这都是一种编写方法:
describe "#textile" do
it "should fail when given no arguments" do
expect { textile() }.to raise_error ArgumentError
end
it "should accept one argument" do
expect { textile("foo") }.not_to raise_error ArgumentError
end
end
请注意,您可以省略
ArgumentError
并只说这些调用应该或不应该引发错误,但是通过明确地说它们应该或不应该引发ArgumentError,可以隔离要指定的情况。 textile("foo")
可能会引发其他一些异常,但仍会通过第二个示例。关于ruby-on-rails-3 - 如何在RSpec中测试参数计数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9345749/