dan*_*ron 4 ruby rspec ruby-on-rails
我有一个使用CSV.foreach方法的方法.数据看起来应该是这样的:
1,0,0,1
1,1,0,0
我想编写一个测试,如果我在每一行中元素的数量不相同,则会发生错误.
就像是:
it "should raise an error if input file lines size differ" do
expect { my_method(invalid_file_name) }.to raise_error
end
Run Code Online (Sandbox Code Playgroud)
如何模拟CSV的foreach方法以返回无效输入?
你确实可以存根CSV的foreach方法,但你需要使用该and_yield方法和链接来生成多行,即:
CSV.stub(:foreach).and_yield(<first_line>).and_yield(<second_line)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2043 次 |
| 最近记录: |