RSpec2 n'inclut pas d'assistant de test have_tag
. L'utilisation des coupleurs have_tag
ou have_selector
de webrat n'est pas possible car Webrat et Rails 3 ne sont pas encore compatibles. Y at-il un moyen d'écrire utile RSpec voir tests? Il est possible d'utiliser assert_select
au lieu de have_tag
, mais alors on pourrait Test::Unit
tests en premier lieu. Ou n'est-il plus recommandé d'écrire des tests de vue RSpec, car les tests d'intégration avec Capybara ou Cucumber sont meilleurs?RSpec View test avec Rails3 et RSpec2
Répondre
Webrat a causé trop de problèmes, il est également possible d'utiliser Capybara avec RSpec. Le DSL Capybara (avec les fonctions has_selector?
, has_content?
, etc.) est disponible pour les tests RSpec suivants: spec/requests
, spec/acceptance
ou spec/integration
.
Si vous utilisez la dernière version de Capybara (~> 1.0.1) - les anciennes versions comme 0.4.0 ne soutiendra pas cela - et ajoutez les lignes suivantes à votre fichier spec_helper.rb
require "capybara/rspec"
require "capybara/rails"
vous pourrait écrire, par exemple le test suivant la demande RSpec
require 'spec_helper'
describe "Posts" do
describe "GET /blog" do
it "should get blog posts" do
get blog_path
response.status.should be(200)
response.body.should have_selector "div#blog_header"
response.body.should have_selector "div#blog_posts"
end
end
end
En fait, Webrat fonctionne avec Rails 3. J'ai testé cela et j'ai pu utiliser le matcher de has_selector (has_tag ne fonctionnait pas).
Vous pouvez jeter un oeil à ce Google group discussion. Fondamentalement, vous n'avez pas besoin du bloc Webrat.configure mentionné dans le readme Webrat, et après la solution de la liste de diffusion, ajoutez ces lignes dans votre spec_helper.rb:
include Webrat::Methods
include Webrat::Matchers
Comme vous pouvez le voir, Webrat est pas mis à jour plus, alors oui, vous pourriez être mieux avec des tests d'intégration avec Cucumber (+ Capybara).
- 1. macros de shoulda avec rspec2 beta 5 et rails3 beta2
- 2. test du contrôleur Rspec2 avec
- 3. -Autotest 4.4.6/ZenTest-4.4.1 rompu avec Rspec2 et Rails3
- 4. test du contrôleur Rails3 et Rspec2 avec un espace de noms
- 5. Test RUBY_PLATFORM avec RSpec 2
- 6. Test des routes membres d'une ressource dans rails3 avec rspec
- 7. question Rspec2 avec Rcov
- 8. acceptation rspec2 tests avec capybara
- 9. Comment stub un users_controller | authlogic, rspec2, rails3, factory_girl
- 10. rails3, rspec2 ActiveRecord # change l'erreur dans les spécifications
- 11. Réduire la devise dans rSpec et Rails3
- 12. Comment tester un moteur Rails3 avec Devise et rspec
- 13. rails3 et rspec2: pas de route correspond à l'erreur (alors qu'il fonctionne dans l'application)
- 14. test imbriqué avec contrôleur RSpec 2 espaces de noms et Rails3
- 15. Rails3 RSpec efface la mauvaise base de données?
- 16. Test after_create avec rspec
- 17. Test page_caching avec RSpec
- 18. Test sortie! avec RSpec
- 19. Test named_scope avec Mongoid et rspec
- 20. modules imbriqués Test avec rspec et rails
- 21. Test AutoTest et Rspec avec Rails
- 22. test d'itinéraire rspec et hôtes
- 23. Rspec2 vue partielle donne nil: NilClass. Pourquoi?
- 24. Rails3 + Rspec2: méthode non définie `authenticate! ' pour nil: NilClass
- 25. Test de gemmes avec Rspec
- 26. rails rspec test d'authentification de base http
- 27. Test crochets after_create avec rspec
- 28. Test has_many association avec RSpec
- 29. comment puis-je tester accepts_nested_attributes_for avec Rspec Rails3
- 30. Test de CSV.generate avec RSpec
-t-il travailler uniquement avec la version il dit, '> = 0.7.2.pre',: git => « http://github.com/kalv/ webrat.git '? – 0x4a6f4672
@ 0x4a6f4672, je n'ai pas remarqué que dans leur discussion avant, donc je viens d'utiliser la saveur régulière de webrat. J'ai simplement ajouté 'gem 'webrat' 'dans mon Gemfile. – mikong