私はCodedUIテスト自動化フレームワークの新機能です。私はTestContext
に出くわしました。テスト結果の出力とディレクトリに関する重要な情報があります。 実際には、出力データを.txt
ファイルに書き込む静的なLogger
クラスを作成しました。今私はそれをTestResults
の下に作成したいと思います。テストメソッドを実行するたびに、タイムスタンプが続くフォルダが作成されます。その場所に私のResults.txt
ファイルを作成したいと思います。 以下は、私が使用していたコードです:静的クラスのデータメンバーにTextContext.TestDeploymentDirの値を割り当てることはできますか?
public static class Logger
{
string logLocation = TestContext.TestDeploymentDir + "\\Results.txt";
static Logger() {
File.Create(logLocation);
using (var fs = new FileStream(logLocation, FileMode.Truncate))
{
}
}
public static void ResultLog(int testcasenum,String Expected,String Actual, String textResult)
{
FileInfo outtxt = new FileInfo(logLocation);
StreamWriter logline = outtxt.AppendText();
logline.WriteLine("Test Case : " + testcasenum);
logline.WriteLine("{0},{1},{2}", "Expected - "+Expected, "Actual - "+Actual, "Result - "+textResult);
// flush and close file.
logline.Flush(); logline.Close();
}
}
は、今私はA field initializer cannot reference the non-static field, method, or property TestContext.TestDeploymentDir.
がわからないどのようにこのエラーを解決するか、それが可能かどうかと言って、コンパイル時エラーを取得していますか?
コンストラクタは何を目的としていますか? 'var fs 'のスコープは空の' using'ブロックに限定されているので、おそらく出力ストリームを空にする以外の有効な効果はありません。 – AdrianHHH
@AdrianHHHログファイルを切り捨てているだけです。何もする特定のロジックがありません。ここでファイルを空にするだけです。 –