如何测试给定的辅助方法仅使用一个参数?

我想到了这样做:

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/

10-13 04:42