我无法通过Michael Hartl的Ruby on Rails教程Chapter 7.1.3进行测试。
Failures: 1) User pages profile page Failure/Error: let(:user) { FactoryGirl.create(:user) } ArgumentError: Factory not registered: user # ./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>' # ./spec/requests/user_pages_spec.rb:9:in `block (3 levels) in <top (required)>' 2) User pages profile page Failure/Error: let(:user) { FactoryGirl.create(:user) } ArgumentError: Factory not registered: user # ./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>' # ./spec/requests/user_pages_spec.rb:9:in `block (3 levels) in <top (required)>' Finished in 2.72 seconds 37 examples, 2 failures Failed examples: rspec ./spec/requests/user_pages_spec.rb:11 # User pages profile page rspec ./spec/requests/user_pages_spec.rb:12 # User pages profile page
require 'spec_helper'
describe "User pages" do
subject { page }
describe "profile page" do
let(:user) { FactoryGirl.create(:user) }
before { visit user_path(user) }
it { should have_selector('h1', text: user.name) }
it { should have_selector('title', text: user.name) }
end
describe "signup page" do
before { visit signup_path }
it { should have_selector('h1', text: 'Sign up') }
it { should have_selector('title', text: 'Sign up') }
end
end
FactoryGirl.define do
factory :user do
name "Michael Hartl"
email "mhartl@example.com"
password "foobar"
password_confirmation "foobar"
end
end
Gemfile
:group :test do
gem 'capybara', '1.1.2'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
gem 'factory_girl_rails', '1.4.0'
end
我尝试重新启动服务器,并运行bundle exec rake db:reset
,db:test:prepare
,db:test:load
,db:migrate
- 似乎没有任何效果。有什么想法吗?
答案 0 :(得分:2)
如果您关注Michael Hartl的指南,您可能也在使用spork
和guard
。除非spork重新启动,否则spork不会注意工厂的更新。
如果您使用它们,请尝试重新启动spork
和guard