我正在尝试测试我的记录器,并且我正在尝试在集成测试后删除日志文件。但是出现错误说
要释放要删除的文件,我需要做什么。
file is in use
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);
}
最佳答案
你可以这样试试:
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 的对象,然后销毁了它。
关于c# - 我正在尝试测试我的记录器,并试图在集成测试后删除日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56195560/