我有一个方法,它在执行一些文件内容操作之前会测试文件是否存在,如下所示:
这个方法的思路是,如果文件不存在,则通过调用NLog记录器实例来生成文件,在此时创建文件并插入指定的头部信息。该方法在应用程序本身中运行良好,但我有一个简单的NUnit测试,实现了一个测试方法来验证文件是否按预期创建和填充。当我通过调试器逐步执行时,我发现'_logPath'被设置为:
D:\Documents and Settings\TE602510\Local Settings\Temp\nunit20\ShadowCopyCache\4288_634286300896838506\Tests_-1937845265\assembly\dl3\7cdfe61a\aa18c98d_f0a1cb01\logs\2010-12-22.log
不幸的是,尽管文件确实存在,但File.Exists的调用返回false。从早些时候查看配置路径的情况来看,上述路径似乎对于这些NUnit测试是正确的。有人知道这里发生了什么事情,以及我需要做什么才能得到所需的结果吗?根据XP文件系统的路径名,日志文件的路径名如下:
D:\Documents and Settings\TE602510\My Documents_VSSWorkArea\PsalertsIp\Tests\bin\Debug\logs
顺祝商祺,
Paul J.
Private Sub AddHeaderToLogFile()
''#Only if file does not exist
If Not File.Exists(_logPath) Then
Dim headerLogger As Logger
headerLogger = LogManager.GetLogger("HeaderLogger")
''#Use GlobalDiagnosticContext in 2.0, GDC in pre-2.0
NLog.GlobalDiagnosticsContext.Set("appName", _appName)
NLog.GlobalDiagnosticsContext.Set("fileVersion", _fileVersion)
NLog.GlobalDiagnosticsContext.Set("logId", 0)
headerLogger.Info("")
End If
End Sub
这个方法的思路是,如果文件不存在,则通过调用NLog记录器实例来生成文件,在此时创建文件并插入指定的头部信息。该方法在应用程序本身中运行良好,但我有一个简单的NUnit测试,实现了一个测试方法来验证文件是否按预期创建和填充。当我通过调试器逐步执行时,我发现'_logPath'被设置为:
D:\Documents and Settings\TE602510\Local Settings\Temp\nunit20\ShadowCopyCache\4288_634286300896838506\Tests_-1937845265\assembly\dl3\7cdfe61a\aa18c98d_f0a1cb01\logs\2010-12-22.log
不幸的是,尽管文件确实存在,但File.Exists的调用返回false。从早些时候查看配置路径的情况来看,上述路径似乎对于这些NUnit测试是正确的。有人知道这里发生了什么事情,以及我需要做什么才能得到所需的结果吗?根据XP文件系统的路径名,日志文件的路径名如下:
D:\Documents and Settings\TE602510\My Documents_VSSWorkArea\PsalertsIp\Tests\bin\Debug\logs
顺祝商祺,
Paul J.