parallel_tests RSpec 提高性能
parallel_tests RSpec improve performance
我有一套控制器测试,可以调用外部沙箱 api 进行测试,这使得性能相当慢。我想通过允许 parallel_tests 不仅并行 运行 套件,而且允许单个 describe
s.
来提高性能
例如:
RSpec.describe FooController do
describe '#index' ...
describe '#create' ...
end
因为 #index
和 #create
测试不共享任何内存 space,可以将它们并行化。一种选择是:
RSpec.describe 'FooController#index' do
describe '#index' ...
end
RSpec.describe 'FooController#index' do
describe '#create' ...
end
但这使得测试看起来很笨拙并且难以通读。有没有一种方法可以轻松地让 parallel_tests
运行 每个 describe
并行?
原来 parallel_tests 的维护者也有一个 gem 专门为此设计的:https://github.com/grosser/parallel_split_test
通过 gem install 'parallel_test_split'
安装后,您可以 运行 parallel_split_test
将慢(但小)的套件从 12 秒减少到 6
我有一套控制器测试,可以调用外部沙箱 api 进行测试,这使得性能相当慢。我想通过允许 parallel_tests 不仅并行 运行 套件,而且允许单个 describe
s.
例如:
RSpec.describe FooController do
describe '#index' ...
describe '#create' ...
end
因为 #index
和 #create
测试不共享任何内存 space,可以将它们并行化。一种选择是:
RSpec.describe 'FooController#index' do
describe '#index' ...
end
RSpec.describe 'FooController#index' do
describe '#create' ...
end
但这使得测试看起来很笨拙并且难以通读。有没有一种方法可以轻松地让 parallel_tests
运行 每个 describe
并行?
原来 parallel_tests 的维护者也有一个 gem 专门为此设计的:https://github.com/grosser/parallel_split_test
通过 gem install 'parallel_test_split'
安装后,您可以 运行 parallel_split_test
将慢(但小)的套件从 12 秒减少到 6