使用Zeus Parallel Spec和Rspec时无法运行单个测试。重点:真的没有用

时间:2017-03-08 13:01:57

标签: ruby-on-rails ruby rspec zeus

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

也无法正常工作。

1 个答案:

答案 0 :(得分:1)

这是一个很好的问题,我在配置中遇到了与parallel_tests相同的问题。由于parallel_tests将文件分解为单独的线程,因此无论如何运行单个文件多线程都没有任何好处。

运行时可以看到:

parallel_rspec spec/models/some_test.rb

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

因此,如果您想在some_test.rb中运行单个规范,请对:focusit块使用specify,然后运行,

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

没关系。如果你想运行一个spec文件,那就是同一个命令:focus

需要修复的问题是,当parallel_rspec运行并且测试中某处有:focus时,它应该运行那个规范。相反,它似乎在每个线程中运行每个规范,除了包含:focus的线程,它只在该线程中运行那个测试。

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