[rspec-users] Comparing files

Ben Mabey ben at benmabey.com
Fri Dec 10 11:21:47 EST 2010


On 12/10/10 8:56 AM, Matt Wynne wrote:
> Hello folks,
>
> I'm writing some tests for file upload code. The files are binary, images mostly. I'm futzing around a bit, trying to figure out how to assert that the uploaded file is the same as some golden master. If I do this:
>
> File.read(uploaded_file_path).should == File.read(path_to_expected_file)
>
> Then when it fails, I get an ugly diff of the difference between the binary files. So I'm about to invent something of my own. Has anyone got a good pattern for doing this already?
>
> cheers,
> Matt

I would compare the file's MD5 (or other) hash.  It won't tell you what 
is different.. just that they aren't identical which is what I think you 
want.   So... something like:

Digest::MD5.hexdigest(File.read(uploaded_file_path)).should == 
Digest::MD5.hexdigest(File.read(path_to_expected_file))

-Ben


More information about the rspec-users mailing list