我正在从事一个专注于归档文档的项目。作为此过程的一部分,我们使用Fedora 存储库架构。虽然 Fedora 是一个很棒的存储库后端,但写入 Fedora 是一个缓慢的过程,它会导致我们的测试套件的运行时间飙升。
当面对一组 IO 绑定测试时,有没有办法让其他测试在等待 RSpec 中慢速完成的同时运行?
我正在从事一个专注于归档文档的项目。作为此过程的一部分,我们使用Fedora 存储库架构。虽然 Fedora 是一个很棒的存储库后端,但写入 Fedora 是一个缓慢的过程,它会导致我们的测试套件的运行时间飙升。
当面对一组 IO 绑定测试时,有没有办法让其他测试在等待 RSpec 中慢速完成的同时运行?
一种策略可能是标记您的 IO 绑定规范并单独运行。因此,您可以按如下方式标记您的测试:
describe "MyClass", :io_bound do
it "is IO intensive" do
# your tests
end
end
describe "MyOtherClass" do
it "is not IO intensive" do
# your tests
end
end
然后你分别运行它们:
rspec . --tag=io_bound # runs all specs tagged as io bound
rspec . --tag=~io_bound # runs all specs NOT tagged as io bound (all your other tests)