2009-06-23 6 views
0

J'ai récemment commencé à apprendre le rubis sur rails. J'ai complété le weblog walkthru (liens ci-dessous) et je veux faire des tests pour cela. J'ai pris ce test fonctionnel à partir de la version vidéo de la démo du blog. Maintenant, je veux que ce test fonctionne pour l'édition netbeans, qui est structurée différemment en termes de comment les commentaires se rapportent à la publication. D'après ce que j'ai compris, dans la version netbeans, tous les affichages de commentaires sont effectués via les affichages des posts. Maintenant, cette méthode de test doit être modifiée pour s'adapter à cela. Comment créer l'objet post avec un commentaire? Je ne sais pas comment les objets fonctionnent dans Ruby. Comme comment instancier et tel.Test du blog Ruby on Rails (édition netbeans)

test "should create comment and redirect to post without javascript" do 
p= Post.create!(:title => 'hello',:body => 'world') 
post :create, :post_id => p.id, :comment => {:body =>'nice!'} 
assert_redirected_to post_url(p) 
assert_equal 'nice!',p.comments.first.body 
end 

Répondre

1

D'après ce que je comprends, vous essayez d'imiter un utilisateur de poster un commentaire sur le post existant. Ce que vous pouvez faire est de lancer le projet, d'ouvrir votre page Web, de naviguer vers un article et de créer un commentaire. Ensuite, vérifiez le fichier journal du serveur et recherchez la partie provoquée par l'affichage de ce commentaire. Là, vous verrez quelque chose comme ceci:

Processing PostsController#create (for 127.0.0.1 at 2009-06-27 16:54:18) [POST] 
Session ID: 17134c01441c1e26e17baeee4681dd3b 
Parameters: {"action"=>"create", "controller"=>"posts", "comment"=> {"foo" => "bar"}} 

Alors que imitez simplement votre test, en écrivant quelque chose comme:

post :create, :comment => {:foo => "bar"} 

Et cela devrait créer un nouveau commentaire sur le poteau.

Cependant, vous devriez le faire de cette façon SEULEMENT TOUT EN APPRENANT! Une fois que vous avez eu le coup de choses, écrire des tests avant, décrire comment tout devrait fonctionner, puis travailler sur l'implémentation jusqu'à ce qu'il le fasse.

+0

Où trouver le fichier journal du serveur? – Egg

+0

Par défaut, dans PROJECT_DIR/log, recherchez development.log. En outre, vous devriez être capable de voir ce qui y est écrit au moment de l'exécution, en fonction de la façon dont vous démarrez le serveur - la même fenêtre de terminal où vous avez écrit 'script/serveur', si vous le lancez ainsi. Je pense que netbeans avait aussi une sorte de console de serveur en construction, si vous lancez le serveur par une commande IDE - vous n'avez pas utilisé NB depuis longtemps. –