Rspec Rails教程7.2.2用户控制器问题

Rspec Rails教程7.2.2用户控制器问题,rspec,ruby-on-rails-3.2,railstutorial.org,Rspec,Ruby On Rails 3.2,Railstutorial.org,我在Michael Hartl的Rails教程的第7.2.2节(第7章)中,当我在app/controllers/users\u controller.rb中添加@user变量时,事情变得很奇怪。现在应该通过的测试没有通过,而是因为不同的原因失败了: $ rspec spec/requests/user_pages_spec.rb -e "signup page" Failures: 1) User pages signup page Failure/Error: before { vi

我在Michael Hartl的Rails教程的第7.2.2节(第7章)中,当我在app/controllers/users\u controller.rb中添加@user变量时,事情变得很奇怪。现在应该通过的测试没有通过,而是因为不同的原因失败了:

$ rspec spec/requests/user_pages_spec.rb -e "signup page"

Failures:

1) User pages signup page 
 Failure/Error: before { visit signup_path }
 ActionView::Template::Error:
   undefined method `users_path' for #<#<Class:0x007fdec372a8e0>:0x007fdec375d010>
 # ./app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb___2884421820517152565_70297369620580'
 # ./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>'

2) User pages signup page 
 Failure/Error: before { visit signup_path }
 ActionView::Template::Error:
   undefined method `users_path' for #<#<Class:0x007fdec372a8e0>:0x007fdec45caee0>
 # ./app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb___2884421820517152565_70297369620580'
 # ./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>'

从头开始重新打开项目时,我遇到了另一个错误,导致我在
config/environments/test.rb
中发现了这个错误:

# Speed up tests by lowering BCrypt's cost function. require 'bcrypt'
silence_warnings do
  BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_COST
end
通过将
require'bcrypt'
移动到它自己的行中,一切都会再次工作——包括我原来问题中的测试

# Speed up tests by lowering BCrypt's cost function. 
require 'bcrypt'
silence_warnings do
  BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_COST
end
# Speed up tests by lowering BCrypt's cost function. 
require 'bcrypt'
silence_warnings do
  BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_COST
end