2013-11-19 3 views
0

Я хочу изменить следующий кодКак запустить тесты MiniTest перед запуском обычного кода в файле?

load "API.rb" 
require 'minitest/spec' 
require 'minitest/autorun' 

class Test < MiniTest::Unit::TestCase 
    MiniTest::Assertions.diff = nil 
    def setup 
    end 

    def test_character_detection 
    assert_equal "Gandalf", Story.get_first_character(2717) 
    end 
end 

puts "TEST" 

поэтому тесты будут выполняться до нормального кода (в данном случае - «ставит„TEST“»).

ответ

1

Извините за поздний ответ. Министры хитрые.

minitest/autorun использует at_exit способ. Он выполняет данный блок, когда работа интерпретатора почти завершена. Грубо говоря «в конце» вашей программы. Хотя вы можете вызвать метод at_exit более одного раза, а блоки будут выполняться в порядке LIFO.


Более интересные подробности о at_exit и его использование вы можете найти here.

Также вы можете ознакомиться с minitests source code. (в этом файле at_exit)

Удачи!

Смежные вопросы