現在、次の問題が発生しています。
Visual Studio 2015 に含まれているネイティブの Microsoft 単体テスト フレームワークを使用して、単体テストをネイティブの C++ アプリケーションに導入しましたMicrosoft::VisualStudio::CppUnitTestFramework
。
ビジュアル スタジオ内でユニット テストを開始するには、画像 1 に示すように を使用します。 (画像 2 に示すように) にa をTest-Explorer
追加することで、属性による並べ替えとフィルター処理が可能になります (画像 3 に示すように)。method attribute
Test-Method
Test-Explorer
これはすべて問題なく動作します。これらの単体テストを継続的インテグレーション システム (CI) に実装しようとしたときに、問題が発生し始めました。
Unit-Tests をコンソールから開始するvstest.console.exe
には、次の場所にある を使用しますC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
。公式ドキュメントはここにあります。
次のスクリーンショットは、コンソールを使用したときにテストがどのように成功するかを示しています。
ロガーを追加してファイルを .trx に出力することもうまく機能します。ただし、フィルターを適用して特定の属性を持つテストを決定することは機能しません。/TestCaseFilter:
ドキュメントによると、 -switchを使用すると、そのようなことが可能になるはずです。ただし、次のスクリーンショットは結果のエラーを示しています。
「無効なプロパティ ( TakesLong ) が 1 つ以上含まれているため、フィルターに一致するテストはありません。有効なプロパティ (TestCategory、Priority、FullyQualifiedName、Name) を含むフィルター式を指定して、再試行してください。」
誰かがこの問題を知っているか、それを修正する方法を知っていますか? 最終的な目標は、特定のテストを除外できるようにすることです (非常に時間がかかる/ハードウェア ドングルが必要など)。
宜しくお願いします、LorToso