Mojolicious::Command::testを調べたTest::Harness
ところ、テストスイートの実行に使用されています。モジュールはラッパーでTAP::Harness
あり、そのformatter
パラメーターを設定する必要があります。パラメータをプッシュする方法が見つかりませんでした( のような環境変数がありますがHARNESS_OPTIONS
、パラメータを許可しませんでした)。
あなたができることは、アプリケーションに新しいコマンドを実装することです。新しい Mojolicious アプリケーションを作成し、アプリケーションの起動時に上記のガイドに従って新しいコマンド名前空間を追加しました。
push @{$self->commands->namespaces}, 'JUnitTest::Command';
次に、メソッドの最後の行をコピーMojolicious::Command::test
しJUnit::Command::testjunit
て置き換えました。run
$ENV{HARNESS_OPTIONS} //= 'c';
require Test::Harness;
Test::Harness::runtests(sort @args);
と
require TAP::Harness;
my $harness = TAP::Harness->new({
formatter_class => 'TAP::Formatter::JUnit',
lib => \@INC,
merge => 1,
});
$harness->runtests(sort @args);
として実行する
perl script/junit_test testjunit
次の出力が得られました。
<testsuites>
<testsuite failures="0" errors="0" tests="3" name="t_basic_t">
<testcase name="1 - get /"></testcase>
<testcase name="2 - 200 OK"></testcase>
<testcase name="3 - content is similar"></testcase>
<system-out><![CDATA[1..3
ok 1 - get /
ok 2 - 200 OK
ok 3 - content is similar
]]></system-out>
<system-err></system-err>
</testsuite>
</testsuites>
お役に立てれば。