2017-01-06 3 views
0

Je veux soulever une exception active des ressources manuellement à partir RSpec et je suis en train de faire quelque chose comme this-Comment faire pour augmenter l'exception ActiveResource ResourceInvalid?

ActiveResource::ResourceInvalid.new(422, "Error Message") 

Même si je suis en mesure de lever exception ActiveRecord mais ActiveResource ne soulève pas. Je vois la méthode initialize de ActiveResource attend deux arguments.

def initialize(response, message = nil) 
     @response = response 
     @message = message 
end 

Je suppose que le problème est dans l'envoi du paramètre response.

+2

Dans votre exemple de code, vous créez une nouvelle instance de 'ActiveResource :: ResourceNotFound', mais vous n'êtes pas réellement [' raise'] (http://ruby-doc.org/core-2.4.0/Kernel .html # method-i-raise). Veuillez montrer votre exemple complet de RSpec, y compris la sortie actuelle (ou le message d'erreur) et la sortie attendue. – Stefan

Répondre

0

Je voudrais essayer quelque chose comme ceci:

expect { 
    raise ActiveResource::ResourceNotFound.new(404, 'Error Message') 
}.to raise_error(ActiveResource::ResourceNotFound, 404, 'Error Message') 

Notez les raise et les accolades.