最近、MbUnitバージョン2.4.2.355を、Cruise Control.NETおよびNAntを介して実行されるビルドサーバーに、.NET Framework3.5SP1がインストールされたWindowsServer2003マシンにインストールしました。
ビルドスクリプトの隅々までチェックしましたが、CC.NETのNAnt出力レポートには、テストプロジェクトが正常にビルドされていることが示されています。
これはNAntスクリプトです。
<target name="compiletests" description="Compiles unit tests separately">
<exec program="${netframework.dir}\msbuild.exe">
<arg line="C:\dev\PROJ3.1\trunk\src\PROJ\Customer\CustomerUnitTests\Company.CustomerUnitTests.csproj /t:Rebuild /p:Configuration=Debug"></arg>
</exec>
</target>
そして出力はffです:
[exec] Company.CustomerUnitTests-> C:\ dev \ PROJ.1 \ trunk \ src \ PROJ \ Customer \ CustomerUnitTests \ bin \ Debug \ Company.CustomerUnitTests.dll[exec]プロジェクトの構築が完了しました"C:\ dev\PROJ。 1 \ trunk \ src \ PROJ \ Customer \ CustomerUnitTests \ Company.CustomerUnitTests.csproj "(ターゲットを再構築します)。[exec]ビルドが成功しました。[exec] "C:\ dev \ PROJ3.1 \ trunk \ src \ PROJ \ Customer \ CustomerUnitTests \ Company.CustomerUnitTests.csproj"(ターゲットの再構築)(1)->
これが意味するのは、単体テストアセンブリのビルドが成功したということです。
NAnt出力の最後にあるのは次のとおりです。
mbunit-tests:[mbunit]MbUnit2.4.2.355テストランナー[mbunit]テストでテストアセンブリが見つかりません
コンソールに移動し、MbUnit.Cons.Exeを使用してコンパイル済みアセンブリを手動でテストしてみました。結果は次のようになりました。
- 私のWindowsXPSP3マシンを使用して構築されたテストアセンブリは正しく認識され、テストは私のマシン、およびその他の開発マシンで適切に実行されていました。
- Windows Server 2003を実行しているビルドサーバーでビルドされたテストアセンブリは、テストアセンブリとして認識されていませんでした。それらのファイルをXPマシンにコピーしようとしましたが、どちらも認識されませんでした。
私は今疑問に思っています:テストアセンブリと非テストアセンブリの違いは何ですか?Test
と属性に関係があると確信していTestFixture
ますが、私の場合、WinXPマシンでコンパイルされたアセンブリがテストとしてコンパイルされ、Win2K3マシンでコンパイルされたアセンブリが認識されないのはなぜですか?
誰かがこれについての手がかりを持っていることを願っています。