关于Rails上的ruby:将Zeus Parallel Spec与Rspec一起使用时,无法运行单个测试。焦点:真行不通

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将文件分成单独的线程,因此无论如何都不能运行单个文件多线程。

运行时可以看到以下内容:

1
parallel_rspec spec/models/some_test.rb

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

因此,如果要在some_test.rb中运行单个规范,请对该itspecify块使用:focus,然后运行,

1
2
3
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