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

标签 c#

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

要释放要删除的文件,我需要做什么。

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/

相关文章:

c# - 如何动态决定使用哪个静态类

c# - await 方法中的取消 token

c# - ASP.net 核心命名空间不同步

c# - 开源代码片段存储库

c# - 异步等待 Task.Run 与 HttpClient.GetAsync

c# - 让 Json.NET + MongoDB Bson 一起玩得很好

c# - 向 XAML 中的元素添加自定义属性?

c# - 将 System.Text.Json 源生成器与自定义 JsonConverter 结合使用

c# - ASP.NET UserControl 继承 - 从基类获取派生类控件

c# - 将字符串转换为 Linq lambda 表达式