4

次のセットアップがあります Visual studio 2012 Update 2 NUnit Test Adapter Beta 4 NUnit 2.62

NUnit の次の属性 Category または MSTest の TestCategory のいずれかでテストをマークします。

[Category("WebServer")]
public void FooTest() {
 //test
}


[TestCategory("WebServer")]
public void FooTest2() {
 //test
}

TFS ビルド テンプレートで、プロパティを設定します

  1. Basic -> 1. Test Source -> Test Case Filter to the value: TestCategory!=WebServer

ビルドが実行されると、NO TESTS が実行されます。フィルターを削除すると、すべてのテストが再度実行されます。

ビルドログからの出力は

C:\Builds\2\Proj\Build\bin\Debug\Tests.Integration.dll C:\Builds\2\Proj\Build\bin\Debug\Tests.Unit.dll C:\Builds\ で使用できるテストはありません2\Proj\Build\bin\Debug\Tests.Web.dll C:\Builds\2\Proj\Build\bin\Debug\TestStack.BDDfy.dll. インストールされているテスト ディスカバリーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認してから、再試行してください。

カテゴリ名に基づいてテストを除外する方法の手がかりはありますか? NUnit コンソール ランナーを使用すると、属性が機能することを簡単に確認できます。

4

3 に答える 3

2

ここから、NUnit テストでは TestCategory フィルターを使用できず、MSTest テストでのみ使用できるように見えます。

注意として、ビルド テンプレートではなく、TFS ビルド定義のプロパティを変更しているようにも見えます。ビルド定義を変更すると、これを変更する場所が間違っているため、これは私が期待することです。

于 2013-05-29T16:39:19.763 に答える
1

これは Google が返した最初の結果の 1 つだったので、古い質問に答えます。

ここから、これはバージョン 1.1 で修正されたバグであると思われますが、残念ながら (2014 年 1 月 22 日現在) まだ nuget にリリースされていません。

于 2014-01-22T18:06:41.513 に答える