2009-03-06 7 views
2

VS2008の単一のテストプロジェクト内で単体テストをグループ化できますか?例えばVS2008の単一のテストプロジェクト内で単体テストをグループ化できますか?

- TEST1とTEST2は、グループAに属し TEST4とTEST5は、私は明示的に選択しない限り、私は、グループBでのテストは実行しないグループB.

に属します。 これは、すべてのテストが自動テストに含まれるとは限らないためです。

編集:
第2部分の言い換え。
テストリストエディタを使用してグループを作成できます。これらのグループの1つまたは2つだけを選択して自動テスト用に設定することはできますか?

など。私はグループAを毎晩自動テストとして実行し、グループBは手動テストを実行するようにします。

答えて

-1

Visual Studio Unit Testの背後にあるコンセプトは、ターゲットアセンブリごとに1つのテストプロジェクトを使用することを強く推奨します。確かに、すべての単体テストに対して1つのテストプロジェクトを使用することは可能ですが、手動でテストプロジェクトを作成する必要があります。単体テストウィザードはあまり柔軟ではありません。

NUnitは、より柔軟です。ユニットテストを保存するアセンブリに制限はありません。すべての単体テストに対して単一のアセンブリを使用することも、テストする対象のクラスと同じクラスに格納することもできます。

3

テストビューウィンドウには、「グループ化」コンボボックスがあります。

したがって、Categoryのように、テストメソッドで使用できるいくつかの属性と組み合わせて使用​​することで、テストを実行するときに選択性を高めることができます。

EDIT:これはテストを手動で実行したときの解決策に過ぎません。特定のカテゴリまたは特定のネームスペースのテストのみを実行する自動テストでも同様の解決策が得られる可能性があります。

+0

これはグループ化を解決し、自分のニーズに合わせてカスタム属性を作成できると思います。 作成したグループの1つ(または複数)を自動テストに使用することはできますか? – John

+0

これは自動化されたテストでも動作しますが、実際には長時間実行されるテストでは推奨されます(1日に1回または2回のスケジュールビルドを除くほとんどのビルドから除外されます)。 –

2

テストリストエディタ(Test | Windows)を確認してください。これは、ソリューション内のすべてのテストを表示します。左にグループのツリービューを作成し、各テストをグループにドラッグすることができます。各TreeViewノードのチェックボックスを使用すると、実行またはデバッグするテスト(グループ)のトグルを簡単に切り替えることができます。

この商品をお求めの客様はこんな商品もお求めです。

この情報はvsmdiメタデータファイルに格納されているように見えるので、永続化する必要があります。しかし、これが自動テストで(そしてどのように)関連しているかはわかりません。私のVS GUI機能のように見えます。手動のグループ化とテストの実行です。

EDIT:私は、テストコードを別々の「機会」(例えば、コード作業時に常に実行したいクイックユニットテスト、少し時間がかかるパフォーマンステスト、統合テスト複数のレイヤーなど)を異なるテストプロジェクトにセマンティック的に組み込むことができます。同じユニットテストフレームワークを使用して、これらのテストをすべて物理的に実装しています。その後、適切な時間に実行される正しいテストグループを選択することができます(チェックイン、毎日のビルド、必要に応じて手動テスト)。

関連する問題