我有一套控制器测试,可以调用外部沙盒api进行测试,这会使性能变得相当慢。我希望parallel_tests不仅可以并行运行套件,还可以单独运行describe
个。
例如:
RSpec.describe FooController do
describe '#index' ...
describe '#create' ...
end
由于#index
和#create
测试不共享任何内存空间,因此可以将它们并行化。一种选择是:
RSpec.describe 'FooController#index' do
describe '#index' ...
end
RSpec.describe 'FooController#index' do
describe '#create' ...
end
但是这使得测试看起来很笨拙并且难以阅读。有没有办法可以让parallel_tests
并行运行describe
?
答案 0 :(得分:4)
原来,parallel_tests的维护者也有一个专为此设计的宝石:https://github.com/grosser/parallel_split_test
通过gem install 'parallel_test_split'
安装后,您只需运行parallel_split_test
将一个缓慢(但很小)的套件从12秒减少到6