1

我有一套针对控制器的测试,该控制器调用外部沙箱 api 进行测试,这使得性能相当缓慢。我想通过允许 parallel_tests 不仅可以并行运行套件,还可以运行单个describes 来提高性能。

例如:

RSpec.describe FooController do
    describe '#index' ...
    describe '#create' ...
end

因为#indexand#create测试不共享任何内存空间,所以可以并行化它们。一种选择是:

RSpec.describe 'FooController#index' do
    describe '#index' ...
end

RSpec.describe 'FooController#index' do
    describe '#create' ...
end

但这使测试看起来很尴尬并且阅读起来很痛苦。有没有一种方法可以轻松地并行parallel_tests运行每个?describe

4

1 回答 1

4

原来parallel_tests 的维护者也有专门为此设计的gem:https ://github.com/grosser/parallel_split_test

通过安装后,gem install 'parallel_test_split'您可以简单地运行parallel_split_test

将缓慢(但很小)的套件从 12 秒减少到 6 秒

于 2015-11-12T02:14:45.257 回答