2012-04-19 1 views
2

私はJenkinsで自動テストを設定しようとしています。私は4つの異なるプロジェクトを含むVisual Studioソリューションを持っています。そのうちの1つはNUnitテストプロジェクトで、他の3つのプロジェクトでいくつかのテストが行​​われています。NUnitとJenkinsとの継続的な統合:どのNUnitファイルが必要ですか?

私は、次の内容を含むVisual Studioでの私のNUnitのテストプロジェクトにポストビルド・イベントを追加しました:

`$(SolutionDir)Libs\NUnit-2.6.0.12051\bin\nunit-console.exe $(TargetPath)` 

をそれが正常に動作しますが、これは行くための典型的な方法は何ですか? テストプロジェクトはビルドオーダーの最後のものですが、3つのプロジェクトにPostBuildイベントを追加するのは意味がありません。


あなたは上記の指定されたパスに見ることができるように、私のVisual Studioプロジェクトフォルダは「Libsの」と呼ばれているフォルダを持っています。これは私の依存関係をNUnitに入れたところです。しかし、NUnitフォルダは約8MBです。削除できるファイルを教えていただけますか?そうでなければ、ソース管理にコミットするたびに、ユーザはNUnitに対して8MBを送信する必要があります。

テストをビルドするには、間違いなくnunit.framework.dllが必要です。また、テストを実行するためにはconsole-runner.exeが必要です。しかし他に何が必要ですか?残念なことに、console-runnter.exeは他のいくつかのファイルに依存しており、それらのファイルがないとクラッシュします。私はジェンキンス下のVisual Studio(C#の、MSBuildの)とNUnitの統合にわずかに異なるアプローチを使用している

答えて

3

ありがとうございました。 VSソリューションには、約10個のDLLと1つのアプリケーションを構築するいくつかのプロジェクトがあります。 Visual Studio SolutionはNUnitを起動しません。

「アプリケーション」コードの横には、テストコードを含むディレクトリがあります。独自に構築されたテストソリューションがあります。アプリケーション・ソリューションの出力を参照します。

Visual StudioとNUnitの両方が、Jenkinsを実行しているビルドマシンにアプリケーションとしてインストールされています。

私たちの基本的なディレクトリレイアウト

  • コンポーネント
    • ビン(作成)
    • 様々なソースディレクトリ
    • Component.sln
  • テスト
    • ビン(レコード生成ED)
    • 種々NUnitのテストケースソース
    • Tests.sln

基本MSBuildのステップ、MSBuildのコンポーネント/コンポーネントを使用ジェンキンス

  1. の手順をビルド。

    nunit-console.exe Tests\Tests.sln /xml=nunit-test-results.xml /labels

  2. セットアップ後のビルドアクションを:テスト/ Tests.slnにNUnitのを起動し、Windowsのバッチファイルのステップを使用してMSBuildのステップ、MSBuildのテスト/ Test.sln

  3. を使用して

  4. SLN xUnit Jenkins Pluginを使用してnunit-test-results.xmlを処理し、結果を表示します。

+0

この明快で簡潔な回答をありがとう! – callisto

0

あなたの2つの質問に答えるために:

  1. 私はあなたが説明してきたのと同じ方法で、NUnitのコンソールを実行するために私のテストプロジェクトにポストビルドイベントを使用します。私たちの環境でうまく動作します。

  2. nunit.framework.dllテストを含める必要があります。 実行彼らにとって、NUnitのコンソールだけで、次のファイルで、かなり喜んで実行されます:

    bin\nunit-console.exe 
    bin\nunit-console.exe.config 
    bin\lib\nunit.core.dll 
    bin\lib\nunit.core.interfaces.dll 
    bin\lib\nunit.util.dll 
    bin\lib\nunit-console-runner.dll 
    

    これは、約500キロバイトNUnitの2.6用のファイルのになります。

0

ジェンキンスで定義されている複数の手順ではなく、スクリプトファイルの作成をお勧めします。私たちはpowershellを使ってmsbuildとnunit-consoleを呼び出します。そうすれば、開発者はコミットする前にこの1つのpowershellスクリプトを呼び出すことができます。ビルド/テスト/バンドル/デプロイステップが自己完結型の場合は、Jenkins(または他のビルドサーバー)をセットアップする方がはるかに簡単です。

関連する問題