Есть ли какой-то программный способ заставить rspec-тест остановиться при первом сбое?Остановить выполнение конкретного теста rspec (а не набора тестов) при первом сбое
Например,
- У меня есть набор тестов с несколькими RSpec тестов и я запускать их все сразу.
- Каждого RSpec тест расположен в отдельном spec.rb файле
Если какой-то происходит сбой в любом из этих тестов, я хотел бы, чтобы остановить выполнение этого конкретного теста далее конкретного этап проверки, которые не удались, но не останавливать выполнение всего тестового набора, который я запускаю.
Я знаю, что есть следующий способ:
RSpec.configure do |c|
c.fail_fast = true
end
Но определив его в любом из спецификации файлов, которые я побежал в моем наборе тестов вызывает выполнение все свиты на провал.
В любом случае этот случай можно обработать?
Заранее спасибо
Трудно понять, что именно вы хотите, но имеете ли вы в виду, можно ли остановить все тесты, запущенные в конкретном файле, если произошел сбой при продолжении выполнения других тестов в пакете? Если да, я не уверен, что это возможно. Если вы имеете в виду, можно ли, скажем, запустить весь набор тестов, но сразу же отобразить все сообщения об ошибках, чтобы вы могли их исследовать, пока ваши другие тесты все еще продолжают работать, а затем попробуйте [Fuubar gem] (https: // github. ком/jeffkreeftmeijer/fuubar). –
Итак, моя идея следующая: 1. У меня есть 5 специальных тестов в моем тестовом наборе 2. Каждый из этих тестов находится в отдельном файле спецификации 3. Каждый тест содержит пару контекстов, в которых выполняется некоторая проверка. 4. Я запускаю команду rspec. для запуска полного набора тестов 5. Когда что-то терпит неудачу в одном контексте внутри одного теста (один файл), я хочу прекратить выполнение в этом конкретном контексте и не идти дальше в этом тесте, а выполнять другие файлы спецификаций. Есть ли шанс, что это можно сделать? –