Могу ли я писать тесты RSpec с IO более эффективно?
Я работаю над проектом, который фокусируется на архивировании документов. В рамках этого процесса мы используем архитектуру репозитория Fedora. Хотя Fedora является отличным бэкэндом для репозитория, запись в Fedora является медленным процессом и приводит к быстрому росту времени выполнения нашего набора тестов.
Есть ли способ разрешить выполнение других тестов в ожидании завершения медленных тестов в RSpec, когда они сталкиваются с группой тестов, связанных с вводом-выводом?
1 ответ
Одна из стратегий может заключаться в том, чтобы пометить вам спецификации, связанные с 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)