【发布时间】:2014-08-13 00:27:07
【问题描述】:
我在 Rails 中有一个辅助类,它有这样的方法:
def doSomething(name, *args)
result = ""
args.each do |arg|
if (name == 'something')
result += arg
end
end
result
end
我的 rspec 测试方法是这样的:
it "Should return a hex array for normal input" do
expect(helper.doSomething("somename", 1, 2,3, 4,5)).to eq("")
end
当我运行 rspec 时,我遇到了以下错误:
参数错误: 参数数量错误(1 代表 0)
我在这里做错了什么?任何帮助表示赞赏。
编辑::::
对不起,这不是完整的代码。我试图创建类似的东西,但在更正我以前的代码时,我在其他部分发现了错误。
【问题讨论】:
-
你的助手不能像
args.map(&:to_s).join if name=='something'这样简单吗? -
我们需要更多信息来帮助您。您能否包含完整的堆栈跟踪(不仅仅是错误消息:
ArgumentError: wrong number of arguments(1 for 0),而是显示哪个类和哪一行的一组行,例如myproject/app/models/my_model.rb:42-> 这些行(通常大约有 30 行)是堆栈跟踪行,它们让我们告诉哪行代码导致了错误。
标签: ruby-on-rails ruby testing rspec