您好,我正在用rspec测试我的应用程序:
这是测试文件。
require 'spec_helper'
describe RecipesController do
render_views
describe "index" do
before do
Recipe.create!(name: "Spaghetti alla Carbonara")
Recipe.create!(name: "Spaghetti alle vongole e cozze")
Recipe.create!(name: "Bistecca")
Recipe.create!(name: "Fritto")
xhr :get, :index, format: :json, keywords: keywords
end
subject(:results) { JSON.parse(response.body) }
def extract_name
->(object){ object["name"] }
end
context 'quando la ricerca riporta dei risultati' do
let(:keywords) { 'Spaghetti' }
it 'essere 200' do
expect(response.status).to eq(200)
end
it 'deve ritornare due risultati' do
expect(results.size).to eq(2)
end
it 'deve esserci la ricetta Spaghetti alla Carbonara' do
expect(results.map(&extract_name)).to include('Spaghetti alla Carbonara')
end
it 'deve esserci la ricetta Spaghetti alle vongole e cozze ' do
expect(results.map(&extract_name)).to include('Spaghetti alle vongole e cozze')
end
end
context 'quando la ricerca non riporta alcun risulato' do
let(:keywords) { 'tortellini' }
it 'non deve ritornare alcun risulato' do
expect(results.size).to eq(0)
end
end
end
end
当我尝试通过命令启动测试时:
耙db:migrate RAILS_ENV = test; rspec规范/控制器/recipes_controller_spec.rb
我收到这个错误
/var/lib/gems/2.1.0/gems/bundler-1.10.1/lib/bundler/runtime.rb:34:将
block in setup': You have already activated rspec-core 3.3.1, but your Gemfile requires rspec-core 2.99.2. Prepending
exec捆绑到您的命令中可以解决此问题。(Gem :: LoadError)
如日志中所述,该错误与rspec-core v3.3.1有一些冲突,因此在我的gem文件中,我添加了以下行以安装rspec-core v2.99.2
gem 'rspec-core', '~> 2.99.2'
但是,如果我再次启动该命令(在安装捆绑软件之后并使用捆绑软件exec),结果是相同的。有人有类似的问题吗?
你试过了吗?
bundle exec rake db:migrate RAILS_ENV=test
bundle exec rspec spec/controllers/recipes_controller_spec.rb
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句