如何测试Rspec是否增加了文件大小

时间:2014-03-23 03:12:55

标签: ruby rspec

我想测试类Foo是否按大小增加写入错误日志。

我像这样调整了Rspec example

it "should increase a error log size" do
  expect{Foo.write_error_log}.to change{File.size(ERROR_LOG)}.from(0).to(1)
end

但我不知道错误输出会增加多少大小。

我应该写什么而不是from(0).to(1)

2 个答案:

答案 0 :(得分:3)

只需删除fromto

即可
it "should increase a error log size" do
  expect{Foo.write_error_log}.to change{File.size(ERROR_LOG)}
end

答案 1 :(得分:1)

我敢打赌你已经对(至少)错误日志条目的长度有了一个相当好的想法。如果是这种情况,您的测试示例可以很好地利用“by_at_least。”

it "should increase a error log size" do
  expect{Foo.write_error_log}.to change{File.size(ERROR_LOG)}.by_at_least({your expectations})
end

只是为了区别于其他日志条目。 : - )