Могу ли я писать тесты 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)
Другие вопросы по тегам