MiniTest を使用して、Ruby で記述された CI サーバーで一連の自動テストを実行しようとしています。以下の質問に合わせて、カスタムのミニテストランナーを作成しました。
Ruby Minitest: スイートレベルまたはクラスレベルのセットアップ?
テストでは Web ベースの自動化 (Watir Webdriver) が実行されており、個別のテストごとではなく、ブラウザーと環境を 1 回セットアップするカスタム ランナーが必要です。
これらのテストを継続的インテグレーション サーバーで実行できるように取り組んでいます。https://github.com/bhenderson/minitest-ciまたはhttps://github.com/nicksieger/ci_reporterからのレポートを利用したいと思います。
これらの宝石を含めようとすると、レポートが表示されません。ci-reporter を使用すると、カスタム ランナーからの before_suite コードが呼び出されていないことを示すエラーが表示されます。
カスタム minitest ランナーで実行するために、これらの CI レポーター gem の 1 つを構成するにはどうすればよいですか?
これが私のランナーです:
MiniTest::Unit.autorun
class MyMiniTest
class Unit < MiniTest::Unit
def before_suites
# code to run before the first test
end
def after_suites
# code to run after the last test
end
def _run_suites(suites, type)
begin
before_suites
super(suites, type)
ensure
after_suites
end
end
def _run_suite(suite, type)
begin
suite.before_suite if suite.respond_to?(:before_suite)
super(suite, type)
ensure
suite.after_suite if suite.respond_to?(:after_suite)
end
end
MiniTest::Unit.runner = MyMiniTest::Unit.new
提案をありがとう。