3

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

提案をありがとう。

4

0 に答える 0