我正在尝试测试记录器,并且正在尝试在集成测试后删除日志文件。但是说
会出错我该怎么做才能释放要删除的文件。
文件正在使用中
public void Logger_test()
{
//arrange
string fileName = "InventoryPassword1234.log";
Trace.Listeners.Add(new TextWriterTraceListener(fileName, "myListener"));
//act
Logger.Info("Hello World", "UnitTestProject1");
//assert
Trace.Flush();
Trace.Listeners.Remove("myListener");
Assert.IsTrue(File.Exists(fileName));
//cleanup
File.Delete(fileName);
}
答案 0 :(得分:3)
您可以通过以下方式尝试:
public static void Logger_test() {
//arrange
string fileName = "InventoryPassword1234.log";
TextWriterTraceListener myListener = new TextWriterTraceListener(fileName, "myListener");
Trace.Listeners.Add(myListener);
//act
Logger.Info("Hello World", "UnitTestProject1");
//assert
Trace.Flush();
Trace.Listeners.Remove("myListener");
myListener.Dispose();
Assert.IsTrue(File.Exists(fileName));
//cleanup
File.Delete(fileName);
}
我创建了TextWriterTraceListener对象,然后将其处置。