exi*_*utt 4 rspec ruby-on-rails capybara ruby-on-rails-2
我在使用Rspec 1.3的rails 2.3.8应用程序中设置capybara(0.4.1.2)时遇到一些麻烦.从安装capybara说明中,我插入了以下行:
require 'capybara/rspec'
Run Code Online (Sandbox Code Playgroud)
然而,这给了我一个遗漏的常数错误.好像它正在寻找一个没有加载的类'RSpec'(我猜这是一个RSpec 2/Rails 3的东西).
那么如何让Rspec识别出rails 2.3下的水豚呢?我应该使用早期版本的capy吗?
PS.这是回溯的片段:
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|443| in `load_missing_constant': uninitialized constant RSpec (NameError)
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|80| in `const_missing_not_from_s3_library'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb|206| in `const_missing'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|92| in `const_missing'
|| from /Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/capybara-0.4.1.2/lib/capybara/rspec.rb:4
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/rails-2.3.5/lib/rails/gem_dependency.rb|119| Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|443| in `load_missing_constant': uninitialized constant RSpec (NameError)
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|80| in `const_missing_not_from_s3_library'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb|206| in `const_missing'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|92| in `const_missing'
| from /Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/capybara-0.4.1.2/lib/capybara/rspec.rb:4
/Users/rafe/.rvm/rubies/ruby-1.8.6-p399/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb|31| in `gem_original_require'
/Users/rafe/.rvm/rubies/ruby-1.8.6-p399/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb|31| in `require'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|158| in `require'
|| from /Users/rafe/cmi/lci/branches/forums/spec/spec_helper.rb:12
Run Code Online (Sandbox Code Playgroud)
如果你只想做'请求规格'(如railscasts的"我如何测试"中所定义的那样,似乎并不需要牛排).另请参阅:除了在Rails测试中使用Capybara和RSpec之外,Steak还能添加什么?
我刚刚在这里设置了rails 2.3 + rspec 1 + capybara(最新版本),没有任何麻烦
你不能拥有require capybara/rspec,但它似乎只是添加了一些匹配...但重要的是水豚及其DSL和验证的东西
Capybara适用于任何机架应用程序
在我身上spec_helper.rb:
require 'capybara/rails'
include Capybara::DSL
Run Code Online (Sandbox Code Playgroud)
就是这样(只是点击了Capybara和它的DSL的文档,因为一些rspec-capybara匹配器可能会丢失,没有什么会阻塞,所以)
| 归档时间: |
|
| 查看次数: |
2779 次 |
| 最近记录: |