MSTest 単体テストのパラメーターとして静的変数を使用したいのですDeploymentItem
が、それができないようです。単体テストの実行時に DLL ファイルと一緒にコピーする必要がある XSL ファイルがあり、その場所を次のように定義しました。
private static string _xslPath = Path.Combine("MyProjectDir", "transform.xsl");
ただし、次のことを行うと:
[TestMethod]
[DeploymentItem(DLL)]
[DeploymentItem(_xslPath)]
public void XmlToResultsTest() { }
次のビルド エラーが発生します。
属性引数は、定数式、typeof 式、または属性パラメーター タイプの配列作成式でなければなりません
わかりました、わかりましたが、自分でパスを組み立てるのはとても汚いようです:
[DeploymentItem(@"MyProjectDir\transform.xsl")]
ここで使用したいことについて過度にうるさいPath.Combine
ですか?私が見逃している別の選択肢はありますか?XSL ファイルをルート ソリューション ディレクトリに置くだけでよいので、プロジェクト ディレクトリをパスの一部として渡す必要はありません。