2009-06-05 7 views
1

On dirait que cela devrait être trouvé avec quelques recherches Google ... mais pas de chance.Méthode élégante pour tester validates_associated dans Rails Unit Tests?

Je suis à la recherche d'une approche élégante aux tests validates_associated dans mes modèles, tels que ...

class Network < ActiveRecord::Base 
... 
    validates_associated :transporter 
... 
end 

Et le test:

class NetworkTest < ActiveSupport::TestCase 
    test 'should not create network without valid transporter' do 
    network = Factory.build(:network) 
    assert...? 
    end 
end 

Répondre

1

Factory.build ne peut pas exécuter la validation test (le test de validation s'exécute sur save, not create).

Cependant, en général pour les validations que vous feriez quelque chose comme

assert !network.valid? 
assert network.errors.invalid?(:transporter) 

Notez que j'ai tendance à faire au niveau test de modèle (test unitaire) - Je vérifie le résultat de quelque chose étant invalide au les niveaux de fonction et d'intégration.

Questions connexes