当我运行$ bundle exec rspec spec --format progress时,它会出现以下错误:
..*....invalid option: --format
F**..**..***................*.*********尽管这是个有效的选择。当我使用rspec或bundle exec rspec运行测试时,所有测试都会通过。失败的测试是
1) Refinery::PagesController get all the methods succeeds
Failure/Error: rake.init
SystemExit:
exit
# ./spec/controllers/refinery/pages_controller_spec.rb:64:in `block (2 levels) in <top (required)>'失败的规范是
require 'spec_helper'
require 'refinery/pages_controller'
require "rake"
describe Refinery::PagesController do
render_views
before do
...
# http://stackoverflow.com/questions/13704976/how-to-call-a-rake-task-in-rspec
rake = Rake::Application.new
Rake.application = rake
rake.init ### LINE 64
rake.load_rakefile
rake['categories:create'].invoke为什么我不直接运行rspec命令呢?因为CircleCI(.com -连续集成服务器)是设置命令行的服务器,我们无法控制它。
版本
Rails 3.2.14
$ gem list rspec
rspec (2.14.1)
rspec-core (2.14.8, 2.14.7)
rspec-expectations (2.14.5, 2.14.4)
rspec-mocks (2.14.6, 2.14.4)
rspec-rails (2.14.2, 2.14.1)
Gemfile.lock: rspec (2.14.1)
Gemfile.lock: rspec-core (2.14.7)
Gemfile.lock: rspec-expectations (2.14.4)
Gemfile.lock: rspec-mocks (2.14.4)
Gemfile.lock: rspec-rails (2.14.1)发布于 2014-05-12 22:06:20
我为CircleCI工作,这件事引起了我的注意。
您可以使用circle.yml文件设置自定义测试命令,包括重写循环的内置代码/测试推断。在您的例子中,设置如下内容:
test:
override:
- rspec会使rspec运行,而不是bundle exec rspec spec --format progress。
发布于 2014-05-13 10:39:26
如果您的依赖项是使用bundler管理的,那么您应该使用:
test:
override:
- bundle exec rspec这样你的包就可以用了
https://stackoverflow.com/questions/23617909
复制相似问题