Visite de la méthode ne trouve pas dans mon rspec
Mon application web java est en cours d'exécution sur tomcat à http://localhost:8080/
L'écriture de mon premier spec, home_spec:
require 'spec_helper'
describe "home" do
it "should render the home page" do
visit "/"
page.should have_content("hello world")
end
end
Et en cours d'exécution:
rspec
J'obtiens:
F
Failures:
1) home should render the home page
Failure/Error: visit "/"
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x242870b7>
# ./spec/home/home_spec.rb:7:in `(root)'
Finished in 0.012 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/home/home_spec.rb:6 # home should render the home page
Ne devrait pas ce travail, parce que j'ai inclus capybara dans le spec_helper.rb?
Comment peut-elle savoir à visiter l'url est correcte? que faire si mon url localhost:3030 ou localhost:8080?
Mon gemfile:
source 'http://rubygems.org'
gem "activerecord"
gem "rspec"
gem "capybara"
gem "activerecord-jdbcmysql-adapter"
Mon spec_helper.rb:
require 'capybara/rspec'
Vous devez vous connecter pour publier un commentaire.
Quant à rspec questions (https://github.com/rspec/rspec-rails/issues/360)
vous devriez mettre
dans spec_helper.rb.rb, à l'intérieur de la config bloc.
--no-test-unit
lorsque vous créez une application rails, l'affecte d'une façon.spec/integration
(dans mon cas) àspec/features
et qui n'a pas aidé. La modification despec_helper.rb
par la réponse ci-dessus n'a, cependant.rails_helper.rb
.config.include Capybara::RSpecMatchers
Le répertoire par défaut qui
Capybara::RSpec
regarde maintenant d'inclure leCapybara::DSL
etCapybara::RSpecMatchers
est modifié à partir derequests
àfeatures
.Après j'ai renommé mon
requests
répertoirefeatures
j'ai eu le matcher et DSL méthodes de nouveau disponible sans avoir à inclure explicitement eux.Voir la suite s'engager
requests
etfeatures
sont admissibles répertoires, mais à des fins différentes. Bien que le fait de renommer le répertoire est de travail, vous pouvez vérifiez que le type de spec vous écrivez est dans le bon endroit. C'est, si vous voulez utiliservisit
(aka, capybara choses), puis mettre ces données dans un répertoire features, et de demande de congé de style specs dans lerequests
répertoire.Assurez-vous également que vos tests sont dans le /spec/caractéristiques répertoire. Selon rspec-rails et le capybara 2.0, Capybara v2 et plus ne seront pas disponibles par défaut dans RSpec demande de spécifications. Ils suggèrent d' "...passer tous les tests que l'utilisation de capybara de spec/demandes de spec/fonctionnalités".
Par défaut, le capybara DSL est inclus automatiquement si le fichier est dans les spec/demandes, spec/intégration ou si l'exemple du groupe a
:type => :request
.Parce que votre fichier est dans les spec/accueil le capybara les aides ne sont pas inclus. Vous pouvez soit être conformes à l'un des modèles ci-dessus ou en ajoutant des
include Capybara::DSL
devrait aussi faire l'affaire (vous pourriez aussi avoir besoin de reproduire desbefore(:each)
trucs que serait le programme d'installation.)rack-test requires a rack application, but none was given
Premier check it out
Si vous n'êtes pas le succès,
Ajouter ce code à votre fin de votre spec helper en fait de la RSpec.configurer le bloc ainsi
1) Ajouter à " rails_helper’ config:
2) Ajouter à "spec_helper.rb':