【问题标题】:Rspec suddenly only running one testRspec突然只运行一项测试
【发布时间】:2019-05-03 22:52:17
【问题描述】:

尝试从我的项目根目录运行 rspec (bin/rspec),但突然它没有运行完整的测试套件 - 这通常超过 1,000 个示例。

Finished in 1.88 seconds (files took 5.17 seconds to load)
1 example, 0 failures

我可以运行单个文件或子目录(例如 spec/system/*),并且在其他项目中正常运行。

我唯一能想到的是,我最近确实进入了测试控制台(bin/rails c test),在那里我创建了一个用户,然后进入了本地主机中的测试服务器,然后当我意识到它是不是我需要的。为了以防万一,我还重置了测试数据库并清除了我的 tmp 缓存。

任何关于如何解决问题的想法都将不胜感激!

【问题讨论】:

  • 您是否在任何规范中添加了focus: true 而忘记了它?
  • 谢谢@TomDunning - 原来一个规范在开始时是用“fit”而不是“it”来提交的,这导致了焦点并且没有被注意到:-)现在已经修复并且一切正常!

标签: ruby-on-rails rspec rspec-rails


【解决方案1】:

您是否更改了文件名?要默认运行 rspec,您的文件名应以 _spec.rb 结尾

【讨论】:

  • 遗憾的是没有文件名更改
【解决方案2】:

问题现已解决 - 解决方案:

我尝试运行每个文件夹,但确实注意到焦点有所不同:true:

bin/rspec 规范/控制器:

Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}

bin/rspec:

Run options: include {:focus=>true}

注释掉 spec_helper 中的行以进行检查,然后它正确地运行了所有内容:

  # config.filter_run_including focus: true
  # config.run_all_when_everything_filtered = true

在 specs 中搜索焦点没有显示任何内容,所以我添加了一些东西来打印我的 spec_helper 中的元数据

config.before do |x|
  p x.metadata
end 

并找到了它关注的一个示例,你瞧,这个示例碰巧在导致焦点的先前拉取的提交中意外添加了“fit”而不是“it”。 感谢您的帮助:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2019-03-08
    • 2012-11-28
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    相关资源
    最近更新 更多