2

私は開発者ベースのテストの単体テストシナリオでNUnitを頻繁に使用しましたが、GUIとテスト機能を活用して、QAチームにすべてのコンポーネントまたは部分的なコンポーネントなどに対して実行できるテストスイートを提供したいと思います。 GUIはそのために最適です。

しかし、私が解決しようとして立ち往生しているのは、ソリューションでそれをモデル化する方法、展開する必要があるもの、NUnitを展開する方法などです。

テスト用のクラスライブラリ、QAチームによって実行されるコンソールアプリがあり、NUnitコンソールを生成してそれらのテストを実行するテストのサブセットを自動的に実行するためのパラメーターを渡すことができます。パラメータなしでコンソールアプリを実行すると、NUnit GUIが読み込まれ、好きなテストを参照できます。

しかし、NUnitは大きなバイナリプロジェクトとしてデプロイされるため、Process.Startで実行する必要があります。NUnitは大きなディレクトリ構造を持っているため、デプロイする方法がわかりません。プロジェクトビルドにそれを含める方法がわかりません。などになります。

誰かが似たようなことをして、これを行うための最善の方法について何かアドバイスがありますか?

4

1 に答える 1

2

nunit バイナリを展開する 1 つの方法は、NuGet を使用することです。すべてのバイナリ、gui などを含む NUnit.Runner nuget パッケージがあります。テスト可能なバイナリを提供するだけです。

そのため、CI/ビルド プロセスで、テストとサポート アセンブリだけを含むナゲット パッケージを作成するステップを作成します。.nu​​spec ファイルで、"NUnit.Runner" を依存パッケージにします。これで、すべてのものと、必要なすべての NUnit .exe へのリンクを含む nuget パッケージができました。次の課題は、このパッケージをテスターのデスクトップに配置することです。これを行う最善の方法は、独自のプライベート NuGet フィード/サーバーまたは NaaS...myget.org を使用することです。

この時点で、私は次の解決策を作成したと言います-他の利用可能な解決策があると思います.例えば、チョコレートは同じことをします.

「sidewinder」(sidewinder.codeplex.com) という名前の nuget パッケージを作成しました。このパッケージには「sidewinder.exe」が含まれています。この exe は、任意の nuget フィード (公式、myget、カスタム) から nuget パッケージをダウンロードし、その内容を解凍します。パッケージを開き、選択したフォルダーにファイルをコピーします。したがって、CI プロセスがテスト アセンブリの新しいパッケージ バージョンである sidewinder.exe を作成した場合、テスター マシンにインストールすると、新しいバージョンを検出し、ダウンロード、展開、展開できるようになります。正しいコマンドラインを実行して GUI またはコンソール ランナーを起動するバッチ ファイルをパッケージに含めることもできます。

そして、ボーナス ポイントとして、これの自動化されたバージョンがあります - wolfpack (http://wolfpack.codeplex.com) には、特定のパッケージの新しいバージョンの nuget フィードを監視し、nunit テストを自動的にダウンロード、展開、実行します。テスト結果に基づいて通知が作成されます。

HTH

于 2012-05-22T22:06:08.530 に答える