Rails de Tests RSpec pour un has_many :la Relation d'aide
Je suis nouveau sur des tests et des rails, mais j'essaie d'obtenir mon TDD processus correctement.
Je me demandais si vous utilisez toute sorte de paradigme pour les tests has_many :par le biais de relations? (ou tout simplement has_many en général, je suppose).
Par exemple, je trouve que dans mon modèle, les specs, je suis définitivement l'écriture de tests simples pour vérifier que les deux extrémités d'une relation pour ce qui concerne les méthodes.
ie:
require 'spec_helper'
describe Post do
before(:each) do
@attr = { :subject => "f00 Post Subject", :content => "8ar Post Body Content" }
end
describe "validations" do
...
end
describe "categorized posts" do
before(:each) do
@post = Post.create!(@attr)
end
it "should have a categories method" do
@post.should respond_to(:categories)
end
end
end
Puis dans mes catégories spec-je faire l'inverse de test et vérifier @catégorie.postes
Quoi d'autre ai-je raté? merci!!
Vous devez vous connecter pour publier un commentaire.
Je voudrais vous recommandons de vérifier un joyau appelé Shoulda. Il a beaucoup de macros pour tester des choses comme des relations et des validations.
Si tout ce que vous voulez est de vérifier que le has_many relation existe, alors vous pouvez faire ce qui suit:
Ou si vous testez un has_many :through, alors vous devriez utiliser ceci:
- Je trouver les Shoulda Rdoc page est très utile aussi.
remarquable fera ce bien:
Généralement, il vous suffit de copier l'ensemble de vos relations à partir du modèle de la spécification et de changement "a" à "should_have", "belongs_to" à "should_belong_to", et ainsi de suite. Pour répondre à cette accusation qu'il teste les rails, il vérifie la base de données, en s'assurant que l'association fonctionne.
Macros sont également inclus pour le contrôle de validations ainsi: