Rspec email_spec 问题
Rspec email_spec issue
我正在学习这个用户身份验证教程..
http://larsgebhardt.de/user-authentication-with-ruby-on-rails-rspec-and-capybara/
..它使用 gem 'email_spec'。虽然作者使用的是 rails 和 rspec 的早期版本,但我在使 gem 正常工作时遇到了问题。
添加时..
spec_helper.rb
RSpec.configure do |config|
...
config.include(EmailSpec::Helpers)
config.include(EmailSpec::Matchers)
...
end
我收到错误..
Neither Pony nor ActionMailer appear to be loaded so email-spec is requiring ActionMailer.
WARN: Unresolved specs during Gem::Specification.reset:
minitest (~> 5.1)
rack-test (~> 0.6.2)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
我仍然可以看到预期的测试失败,所以我继续,但是一旦我到达让我添加 config.include(UserHelper)
到 spec_helper、gem 或测试的部分套房坏了。
rails 和 rspec 的这一边有点让我头疼。非常感谢任何帮助。
我现在 运行 Rails 4.1.6 和 Rspec 3.1.7.
这里有两个问题需要解决。
首先是email_spec
gem的通知。要摆脱这种情况,只需在 rails_helper.rb
:
中的 email_spec
之前要求 action_mailer
require "action_mailer"
require "email_spec"
实际上 email_spec
gem 会为您完成此操作(因此通知),但如果您想摆脱烦人的消息,这就是解决方案。
其次,config.include(UserHelper)
的问题。这实际上与第一个问题无关,发生的原因是当您尝试引用 UserHelper
模块时 support/user_helper.rb
文件未包含。
发生这种情况的原因是因为您关注的文章是在 RSpec 3 之前写的,因此在 Rails 配置移动到 rspec_helper.rb
文件之前。 (有关升级的更多信息,请点击此处:https://www.relishapp.com/rspec/rspec-rails/docs/upgrade)
解决问题:
取消注释 rails_helper.rb
中的这一行:
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
这将从 spec/support
目录树加载所有文件。
将所有配置从 spec_helper.rb
移动到 rails_helper.rb
。
我正在学习这个用户身份验证教程..
http://larsgebhardt.de/user-authentication-with-ruby-on-rails-rspec-and-capybara/
..它使用 gem 'email_spec'。虽然作者使用的是 rails 和 rspec 的早期版本,但我在使 gem 正常工作时遇到了问题。
添加时..
spec_helper.rb
RSpec.configure do |config|
...
config.include(EmailSpec::Helpers)
config.include(EmailSpec::Matchers)
...
end
我收到错误..
Neither Pony nor ActionMailer appear to be loaded so email-spec is requiring ActionMailer.
WARN: Unresolved specs during Gem::Specification.reset:
minitest (~> 5.1)
rack-test (~> 0.6.2)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
我仍然可以看到预期的测试失败,所以我继续,但是一旦我到达让我添加 config.include(UserHelper)
到 spec_helper、gem 或测试的部分套房坏了。
rails 和 rspec 的这一边有点让我头疼。非常感谢任何帮助。
我现在 运行 Rails 4.1.6 和 Rspec 3.1.7.
这里有两个问题需要解决。
首先是email_spec
gem的通知。要摆脱这种情况,只需在 rails_helper.rb
:
email_spec
之前要求 action_mailer
require "action_mailer"
require "email_spec"
实际上 email_spec
gem 会为您完成此操作(因此通知),但如果您想摆脱烦人的消息,这就是解决方案。
其次,config.include(UserHelper)
的问题。这实际上与第一个问题无关,发生的原因是当您尝试引用 UserHelper
模块时 support/user_helper.rb
文件未包含。
发生这种情况的原因是因为您关注的文章是在 RSpec 3 之前写的,因此在 Rails 配置移动到 rspec_helper.rb
文件之前。 (有关升级的更多信息,请点击此处:https://www.relishapp.com/rspec/rspec-rails/docs/upgrade)
解决问题:
取消注释
rails_helper.rb
中的这一行:Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
这将从
spec/support
目录树加载所有文件。将所有配置从
spec_helper.rb
移动到rails_helper.rb
。