我正在尝试测试记录器,并且试图在集成测试后删除日志文件

时间:2019-05-18 02:43:17

标签: c#

我正在尝试测试记录器,并且正在尝试在集成测试后删除日志文件。但是说

会出错

我该怎么做才能释放要删除的文件。

  

文件正在使用中

 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);
 }

1 个答案:

答案 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对象,然后将其处置。