将 Zeus Parallel Spec 与 Rspec 一起使用时,无法 运行 进行单个测试。 Focus:true 无效

Can't Run a single test when using Zeus Parallel Spec along with Rspec. Focus:true doesn't work

Rspec 提供方便的能力 通过测试放置 focus: true 以使其 运行 隔离。还有运行宁 $bundle exec rspec spec 致力于实现此功能

但是,单独使用并行规范 $rake parallel:spec

或与宙斯:$zeus rake parallel:spec

根本不起作用,结果如下

ignoring {:focus => true}

为什么?我不希望它被忽略!

在使用并行规范时是否无法 运行 单个测试甚至单个文件?尝试设置它并调试与并行处理有关的错误,但我不想 运行 整个测试套件来测试修复。

之后指定文件位置,例如 $zeus rake parallel:spec spec/features/testing_questionnaire_submission_spec.rb

也无法正常工作。

这是个好问题,我的配置中 parallel_tests 也有同样的问题。由于 parallel_tests 将文件分成单独的线程,因此无论如何 运行 单个文件多线程都没有任何好处。

当你 运行:

时你可以看到这个
parallel_rspec spec/models/some_test.rb

它会说1 processes for 1 specs, ~ 1 specs per process

因此,如果您想 运行 some_test.rb 中的单个规范,请为该 itspecify 块使用 :focus,然后 运行,

rspec spec/models/some_test.rb
or
parallel_rspec spec/models/some_test.rb

没关系。如果你想 运行 一个单一的规范文件,它是相同的命令只是没有 :focus.

需要解决的问题是当 parallel_rspec 是 运行 并且在测试中某处有一个 :focus 时,它应该只是 运行 那个规格.相反,它似乎 运行 每个线程中的每个规范,但包含 :focus 的线程除外,其中只有 运行 那个线程中的一个测试。

你可以在这里看到,我认为这个问题不会得到解决:https://github.com/grosser/parallel_tests/issues/114