我對CodedUI測試自動化框架非常陌生。我遇到了TestContext
,它有關於測試結果輸出和目錄的重要信息。 其實我創建了一個靜態Logger
類,它將輸出數據寫入.txt
文件。現在我想在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我只是截斷日誌文件。沒有指定的邏輯來做任何事情。只需在這裏清空文件。 –