如何将两个文本文件与rspec进行比较?

时间:2013-07-11 01:57:57

标签: ruby rspec shoulda

我有一个比较两个文本文件是否具有相同内容的方法。

如何使用rspec比较两个文本文件是否具有相同的内容?

2 个答案:

答案 0 :(得分:11)

在一个微不足道的层面上:

IO.read(file1).should == IO.read(file2)

如果你想做更好的事情,你可能需要编写一个新的匹配器,类似于have_same_content_as来定义以检查上述情况。 “Up and Running with Custom RSpec Matchers”是编写自定义匹配器的好教程。

答案 1 :(得分:6)

对于偶然发现这种情况的其他人,请检查FileUtils#cmp方法:

require 'fileutils' expect(FileUtils.compare_file(file1, file2)).to be_truthy