【发布时间】:2011-09-03 00:00:18
【问题描述】:
我想在我的 NUnit 单元测试中使用 EQATEC 分析器,就像我过去将 JetBrains dotTrace 与 TestDriven.NET 和 NUnit 结合使用一样。有没有办法做到这一点?事实上,我似乎需要将我的 UnitTest 包装在控制台应用程序中,然后在其上使用分析器。
【问题讨论】:
标签: c# c#-4.0 nunit testdriven.net eqatec
我想在我的 NUnit 单元测试中使用 EQATEC 分析器,就像我过去将 JetBrains dotTrace 与 TestDriven.NET 和 NUnit 结合使用一样。有没有办法做到这一点?事实上,我似乎需要将我的 UnitTest 包装在控制台应用程序中,然后在其上使用分析器。
【问题讨论】:
标签: c# c#-4.0 nunit testdriven.net eqatec
EQATEC Profiler 实际上非常适合自动化:它有一个命令行版本和一个 API,您可以使用它来控制分析的大部分方面,并且您只需在单元测试中使用它即可。
API 在分析器的user guide 中进行了描述。你想做的大概是这样的:
EQATEC.Profiler.RuntimeFullNet.dll,但也有针对 NetCF、Silverlight 和 WP7 的实现。EQATEC.Profiler.Runtime.TakeSnapshot() 方法将它们保存到您选择的文件中。以后可以在分析器中检查这些报告文件。请记住,您仍然需要使用探查器检测已编译的单元测试并运行已检测的版本,但这可以使用探查器的命令行版本 EQATECProfilerCmd.exe 自动执行。使用起来真的很简单,就像这样:
EQATECProfilerCmd -build <your app directory>
【讨论】:
我喜欢在 Visual Studio 的构建后事件命令行中使用构建变量。 EQATECProfilerCmd 不喜欢路径末尾的反斜杠,所以我这样做:
"C:\Program Files (x86)\EQATEC\EQATECProfiler\EQATECProfilerCmd" -build "$(TargetDir)."
请注意我是如何在命令末尾添加句点的。 还要注意我是如何在路径周围加上引号的,因为我知道路径中有空格。
【讨论】: