2009-04-14 10 views
0

私はこのブログとブログの後に数十もの質問があることを知っていますが、誰かがVisual Studio 2005で次の作業をするために最も簡単な回答(または適切な回答があれば既存の質問へのリンク)を付けることができます:Visual Studioの標準ビルドと統合するためにNUnitテストを取得するために最低限必要なものは何ですか?

  1. NUnitのテストは、Visual Studio 定期的なビルド(NUnitのは、MSBuildの中に含まれる*既存の.projファイルに例えば絶対最小限の変更を取得するコンパイル)上で実行されます。もしそれが過度に複雑でないならば、MSBuild Community Tasks Projectをバイナリとして各devマシンにインストールするのではなく、良い方法がありますか?

  2. エラーリスト/警告にテストエラーが表示されます。

  3. テストの失敗はリリースのコンパイルを停止します。

ありがとうございました!

答えて

1

これを正しく行うには、おそらくTeamCityやCruise Controlのような何らかのContinuous Integration Serverが必要です。

あなたは、あなたが設定がリリースされ、タスクが失敗した場合、その後、ビルドが失敗したことをターゲットに条件を追加することができ、次の

<!--BEGIN RUNNING UNIT TESTS--> 
    <Choose> 
    <When Condition=" '$(Configuration)' == 'Release' "> 
     <ItemGroup> 
     <TestAssemblies Include="$(BuildDir)\Builds\Release\BusinessLayer.Tests.dll" /> 
     <TestAssemblies Include="$(BuildDir)\Builds\Release\ResourceAccessLayer.Tests.dll" /> 
     </ItemGroup> 
    </When> 
    <Otherwise> 
     <ItemGroup> 
     <TestAssemblies Include="$(BuildDir)\Builds\Debug\BusinessLayer.Tests.dll" /> 
     <TestAssemblies Include="$(BuildDir)\Builds\Debug\ResourceAccessLayer.Tests.dll" /> 
     </ItemGroup> 
    </Otherwise> 
    </Choose> 
    <UsingTask TaskName="NUnit" AssemblyFile="$(teamcity_dotnet_nunitlauncher_msbuild_task)" /> 
    <Target Name="Test" DependsOnTargets="Build"> 
    <NUnit NUnitVersion="NUnit-2.4.6" Assemblies="@(TestAssemblies)" /> 
    </Target> 
<!--RUNNING UNIT TESTS--> 

を使用してのMSBuildスクリプトにNUnitのテストを追加することができます。

は、私は、これはポイント1と3

EDITをカバーすべきだと思う。それを行うために他の方法は、NUnitのは、thisthisを助けるかもしれないVisual Studioでプリ/ポストビルドステップを使用してテストを実行することです。これはあなたが簡単にTeamCityでこれを達成することができます

+0

こんにちは、これは通常のVisual Studioのビルドを使用していないのだろうか?私。開発者はCruiseControlなどのクライアントをインストールしてから、Visual Studioの外部にビルドする必要があります。 –

1

役立ちます

希望。 MSBuildを使用する必要はありません。 TeamCityはソリューションファイルから構築でき、NUnitテストを実行するように設定できます。ポイント2にリストされているすべての機能を実行し、トレンドチャートとレポートも作成します。