HudsonをCIサーバーとして使用して、いくつかの異なる.Net3.5プロジェクトを構築しています。実際のビルドはうまく機能します。
ただし、ビルドの一部としてGallio.Echoを使用してMbUnit v2テストを実行しました。テストは正常に実行されているように見えますが、Hudsonはテストが実行されていないと主張しています。
「MSBuildを使用してVisualStudioプロジェクトまたはソリューションをビルドする」ステップの直後に、次のビルドステップがあります。
タイプ:Windowsバッチコマンドの実行コマンド:
"C:\ Program Files \ Gallio \ bin \ Gallio.Echo.exe" TestLibrary \ bin \ Release \ TestLibrary.dll / rt:Xml / rnf:mbunit-result/rd:。出口0
ビルドを実行すると、コンソールログに次の出力が表示されます。
Gallio Echo - Version 3.1 build 313
Get the latest version at http://www.gallio.org/
Start time: 09:06
Initializing the runtime and loading plugins.
Verifying test files.
Initializing the test runner.
Running the tests.
[ignored] Test TestLibrary/ConfigTests/LoadAndSaveTest
Generating reports.
Disposing the test runner.
Stop time: 09:07 (Total execution time: 10,210 seconds)
64 run, 64 passed, 0 failed, 0 inconclusive, 1 skipped (1 ignored)
したがって、私の考えでは、テストが実際に実行されることに疑いの余地はほとんどありません。mbunit-result.xmlファイルは適切な場所にあり、見栄えがします。
また、「テストレポートXML」の値を「mbunit-result.xml」として指定するだけで、「Gallioテスト結果レポートを公開する」ようにプロジェクトを構成しました。
これを理解するために、(ジョブのconfig.xmlファイルを介して)Gallioプラグインを構成し、jUnitファイル(GallioプラグインがMbUnitテスト結果から作成する)をそのまま残し、junitResultを確認しました。 .xmlファイル-奇妙なことに、各スイートの「cases」要素はすべて空です。つまり、スイートは次のようになります。
<suite>
<file>C:\Documents and Settings\Administrator\.hudson\jobs\TestProject\workspace\temporary-junit-reports\TEST-TestLibrary.Encryption_Tests.xml</file>
<name>TestLibrary.Encryption_Tests</name>
<duration>0.0</duration>
<cases/>
</suite>
私の知る限り、このセクションは個々の単体テストが存在する場所です。また、期間は0.0であってはなりません。
上記のように、私のGallioバージョンは3.1ビルド313です。これは、このGallioバージョンのレポート形式の変更が原因である可能性があります(推測ですが、そのような変更はわかりません)。
Gallioプラグインv0.52を使用してHudsonv1.323で実行しています。ハドソンにテスト結果を見てもらう方法についての洞察をいただければ幸いです。