HPJ*_*JAJ 59 command-line rspec ruby-on-rails
我正在尝试为Ruby on Rails运行rspec.我正在运行Rails 4.1.1.我已经安装了gem,已经建立了一些带有一些测试的spec文件夹.我已经创建了一个目录$ rails g rspec:install
我试图创建一个测试数据库,$ rake db:test:prepare
但它会抛出此错误消息:
WARNING: db:test:prepare is deprecated. The Rails test helper now maintains your test
schema automatically, see the release notes for details.
Run Code Online (Sandbox Code Playgroud)
所以我最终看到了这个堆栈溢出帖子,以及两个选项中,有效的是:
rake db:schema:load RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)
所以,现在我需要运行rspec.
当我从命令行运行时$ rspec spec
,我收到此错误:
/Users/myname/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/
kernel_require.rb:55:in `require': cannot load such file -- rails_helper (LoadError)
Run Code Online (Sandbox Code Playgroud)
我如何解决这个问题,以便我可以开始运行测试?
Dip*_*pta 70
rspec V3存在一些问题.但在你的情况下,你正在使用V2.
更改
require 'rails_helper'
Run Code Online (Sandbox Code Playgroud)
至
require 'spec_helper'
Run Code Online (Sandbox Code Playgroud)
其他描述在这里找到https://teamtreehouse.com/forum/problem-with-rspec
对于V3:
如果有人使用rspec V3,那么当发电机未运行时会发生类似的错误.所以在尝试之前运行发电机.
rails generate rspec:install
Run Code Online (Sandbox Code Playgroud)
如果您在控制台上收到大量警告列表.然后你需要--warnings
从.rspec
文件中删除.
fot*_*nus 60
我实际上只是在带有rspec 3的rails 4上出现了这个错误,但在我的情况下我忘了运行生成器:
rails generate rspec:install
Run Code Online (Sandbox Code Playgroud)
此外,我不得不删除warnings
从.rspec
,如由rpsec开发商说
Dan*_*iro 10
对我来说,问题是由于加载和激活了不同的"rspec-support"版本.我解决了前缀"捆绑exec":
bundle exec rspec
Run Code Online (Sandbox Code Playgroud)
始终记住从项目的根目录运行
rspec
或。bundle exec rspec
就像是:
bundle exec rspec spec/features/file_test_spec.rb
Run Code Online (Sandbox Code Playgroud)
对于较新的版本(3.5),如果您需要运行生成器,rails generate rspec:install
则对我不起作用.我用了:
rspec --init
Run Code Online (Sandbox Code Playgroud)
创造.rspec
和spec/spec_helper.rb
.
编辑:以防万一,我发现我为ruby安装了rspec gem,而不是Rails的那个,所以rspec:install不可用.应该使用https://github.com/rspec/rspec-rails.
归档时间: |
|
查看次数: |
50450 次 |
最近记录: |