2011-01-06 23 views
2

Ich schreibe Komponententest für einen Bild-Uploader, der Büroklammer verwendet. Es ist holprig und ich langsam die Hürden gedacht wurde, bewegt, bis ich in der Büroklammer :: Geometrieklasse stecken geblieben istWie erstellt man Komponententest für Paperclip :: Geometrie?

Hier mein Code unten

require 'test_helper' 
require File.join(File.dirname(__FILE__),"../../config/initializers","paperclip")  

class PhotoTest < ActiveSupport::TestCase 
#include ActionController::TestProcess 

should_belong_to(:product) 
should_have_attached_file :data 

setup do 
    #I had to do this way because the include right below the class line was not working 
    image = Photo.create(:data => ActionController::TestUploadedFile.new(ActionController::TestCase.fixture_path + "base-production-pack.png",'image/png')) 
    @geo = Paperclip::Geometry.from_file(image) 
end 
end 

die Büroklammer :: Geometrie mir den Fehler geben:

test: Photo should have a paperclip attachment named #data. (PhotoTest): 
Paperclip::NotIdentifiedByImageMagickError: #<Photo:0x1054aa6b8> is not recognized by the 'identify' command. 
paperclip (2.3.6) lib/paperclip/geometry.rb:24:in `from_file' 
/test/unit/photo_test.rb:13 

ich habe eine initializer Datei „paperclip.rb“, die auf meinem lokalen Rechner zum identifizieren Punkt

Vielen Dank im Voraus

Antwort

2

Paperclip::Geometry.from_file erwartet einen Pfad, so sollten Sie tun:

Paperclip::Geometry.from_file(image.data.path) 

Nebenbei bemerkt: Es ist gut, dass Sie testen, aber es gibt wenig Geometrie Methode der Punktprüfung Büroklammer weil Test-Suite Büroklammer dass abdeckt. Ihre Tests sollten abdecken, was Ihr-Code voraussichtlich tun wird (z. B. bestätigen Miniaturansichten werden wie erwartet geändert).

Verwandte Themen