Методы «до/после» для Ruby Minitest framework

Я использую последнюю версию Ruby (2.0.0) и Minitest (5.0.8).

Я ищу способ создать 2 метода: до и после. Метод before должен выполняться еще до того, как Minitest запустится на тестовых примерах, а метод after должен выполняться после завершения ВСЕХ теста.

Я уже использую методы setup() и teardown(), которые выполняются до и после каждого отдельного теста, но я ищу что-то, что охватывает весь пакет Minitest.

Я видел:

Ruby Minitest: настройка уровня Suite или класса?

и

До/После Suite при использовании Ruby MiniTest

Оба они устарели с последней версией Minitest.

Это все еще возможно?


person CustomNet    schedule 07.11.2013    source источник


Ответы (2)


Метод before прост, вы просто настраиваете настройку теста для вызова метода перед запуском Minitest.

Метод after можно реализовать с помощью метода Minitest.after_run(&block), предоставляемого Minitest API. Бывший:

Minitest.after_run do
  puts 'All tests finished'
  my_method_call()
end
person Thiago Lewin    schedule 07.11.2013
comment
Большое спасибо, не могу поверить, что я не мог найти это - person CustomNet; 07.11.2013

Вы можете взглянуть на minitest-hooks. minitest-hooks расширяет minitest с помощью before(:all) и after(:all), которые делают то, что вы хотите, когда структура вашего блока описания плоская. Когда у вас есть вложенные блоки описания, вы можете использовать подход, похожий на ответ Тиаго.

person mrrusof    schedule 21.07.2016