🕶️
parallel_rspecをrspecのoptionで実行する
例えばこんな感じで指定すると実行できないので困った。
bundle exec parallel_rspec -n 4 --only-failures
bundler: failed to load command: parallel_rspec (/home/circleci/project/vendor/bundle/ruby/2.6.0/bin/parallel_rspec)
OptionParser::InvalidOption: invalid option: --only-failures
/home/circleci/project/vendor/bundle/ruby/2.6.0/gems/parallel_tests-3.4.0/lib/parallel_tests/cli.rb:237:in `parse_options!'
/home/circleci/project/vendor/bundle/ruby/2.6.0/gems/parallel_tests-3.4.0/lib/parallel_tests/cli.rb:12:in `run'
/home/circleci/project/vendor/bundle/ruby/2.6.0/gems/parallel_tests-3.4.0/bin/parallel_rspec:9:in `<top (required)>'
/home/circleci/project/vendor/bundle/ruby/2.6.0/bin/parallel_rspec:23:in `load'
/home/circleci/project/vendor/bundle/ruby/2.6.0/bin/parallel_rspec:23:in `<top (required)>'
解決法
test-options
optionを利用する
bundle exec parallel_rspec -n 4 --test-options '--only-failures'
--test-optionsとは
helpを見るとこのように書かれている
-o, --test-options '[OPTIONS]' execute test commands with those options
parallel_rspecの中身で利用されているparallel_testsのoptionのうちの一つ。
parallel_testsはrspecやminitestなどでも利用できるように抽象化されているので、optionはこのように渡すようです。
参考
Discussion