Rod
Rod

Reputation: 15477

I'm trying to test my logger and I'm trying to delete the log file after the integration test

I'm trying to test my logger and I'm trying to delete the log file after the integration test. But it is getting error saying

What do I have to do to release the file to be deleted.

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

Upvotes: 1

Views: 348

Answers (1)

Jayoti Parkash
Jayoti Parkash

Reputation: 878

You can try in this way:

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

I created the object of TextWriterTraceListener and then disposed it.

Upvotes: 3

Related Questions