現在のプラットフォームに基づいてxUnitの特定のテストをスキップするにはどうすればよいですか?質問する

現在のプラットフォームに基づいてxUnitの特定のテストをスキップするにはどうすればよいですか?質問する
  • Windowsで構築したアセンブリがあります
  • Linux の mono で xUnit テストを実行したいです。

しかし、これらのテストのうち 400 個は (順番に) 実行できるものの、特定のテストによって xUnit ランナーがハングしたり、完全にダウンしたりすることが分かりました。

私はしませんお手入れ特定のテストが Linux 上で実行できない場合、特定のテストは DTC と、そこでサポートする必要のない管理されていないガムフに関係しています。

ただし、私が望んでいるのは、これらのテストに無視を適用し、テストが無視されたという事実をビルド出力に適切にフラグ付けすることです。

この問題は、おそらくいくつかの解決策に要約できるだろう。

  • コンソール ランナー経由で xUnit で特定のテストを実行するにはどうすればよいでしょうか? (この目的のためのドキュメントは見つかりませんでした。おそらく、十分に調べていないだけでしょう)
  • 逆に「ここにアセンブリがありますが、これらの特定のテストは無視してください」と言うことは可能ですか?
  • これらのテストがプラットフォーム固有であることを正式に文書化するには、これらのテストに属性を設定することがより良い方法であると提案されていますが、これは可能ですか?

元のコードをあまり変更せずに済むなら、それは素晴らしいことです。なぜなら、コードは実際には私が変更できるものではないし、クロスプラットフォームのハックを大量に適用するのはおそらくあまりうまくいかないからです。

ベストアンサー1

XUnit v2.0 が利用可能になりました。スキップ可能なテストはこれによって直接サポートされます。以下を使用してください:

[Fact (Skip = "specific reason")]

おすすめ記事