【问题标题】:Ruby on Rails rspec runs tests succesfully, but Guard + Spork doesn't find methods for DeviseRuby on Rails rspec 成功运行测试,但 Guard + Spork 找不到 Devise 的方法
【发布时间】:2014-02-14 11:13:24
【问题描述】:

我尝试向我的 Ruby on Rails 应用程序添加一些测试。当我使用命令 rspec 在命令行上运行它们时,它运行良好:

Finished in 0.87603 seconds 3 examples, 0 failures

当开始守卫时,它第一次也能很好地运行它们。即使我没有使用 minitest,它也会给出这种信息:

/.rvm/gems/ruby-2.0.0-p353/gems/minitest-4.7.5/lib/minitest/unit.rb:1037:in `block in process_args': invalid option: --drb (OptionParser::InvalidOption)

我没有配置使用MiniTest,所以我猜我的配置文件可能有问题?

但是,当我对 user_pages_spec.rb 进行更改并保存时,会触发 Guard 运行测试,它会出现这种错误:

Running tests with args ["--drb", "-f", "progress", "-r", "/home/.rvm/gems/ruby-2.0.0-p353/gems/guard-rspec-2.5.0/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec/requests/user_pages_spec.rb"]...

Failures: 
1) 
User pages signup page 
     Failure/Error: before { visit new_user_registration_path }
     ActionView::Template::Error:
       undefined method `devise_error_messages!' for #<#<Class:0x00000006b18248>:0x00000006b226f8>

2) 
User pages signup page 
     Failure/Error: before { visit new_user_registration_path }
     ActionView::Template::Error:
       undefined method `devise_error_messages!' for #<#<Class:0x00000006b18248>:0x000000066de560>

基本上找不到第二次运行相同测试的那些方法。我为仅包含静态内容的另一个页面运行的测试工作正常。

  1. 这里有一些文件:

如果有什么遗漏,请给我留言。感谢您的帮助:)

【问题讨论】:

    标签: ruby-on-rails rspec devise guard spork


    【解决方案1】:

    在启动 spork 然后运行您的规范(没有 Guard)时,您是否也遇到这些错误?

    对于 MiniTest 错误消息,请确保您的项目中没有 test/ 文件夹。

    【讨论】:

    • 是的,我在没有 Guard 的情况下也会遇到这些错误。在标题中澄清这一点也是一个好主意。
    猜你喜欢
    • 1970-01-01
    • 2016-01-25
    • 2012-05-27
    • 1970-01-01
    • 2014-03-06
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    相关资源
    最近更新 更多