Rspec突然只有运行一个测试

Rspec suddenly only running one test

尝试从我的项目根目录 运行 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 测试),在那里我创建了一个用户,然后在本地主机上进入了测试服务器,然后销毁了用户我意识到这不是我需要的。为了以防万一,我还重置了测试数据库并清除了我的 tmp 缓存。

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

你改过文件名了吗?要 运行 rspec 默认情况下,您的文件名应以 _spec.rb

结尾

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

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

bin/rspec spec/controllers:

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

搜索焦点在规格中没有显示任何内容,因此我添加了一些内容以在我的 spec_helper

中打印元数据
config.before do |x|
  p x.metadata
end 

并找到了它所关注的一个例子,你看这个例子,它碰巧被 'fit' 而不是先前拉取的提交中的 'it' 预先挂起,这是造成焦点。 感谢您的帮助:-)