[英]rspec core Ruby on Rails
您好,我正在用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:in
block in setup': You have already activated rspec-core 3.3.1, but your Gemfile requires rspec-core 2.99.2. Prepending
在命令前block in setup': You have already activated rspec-core 3.3.1, but your Gemfile requires rspec-core 2.99.2. Prepending
bundle exec`可能會解決此問題。 (寶石:: 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.