我想就为我们的 TeamCity 构建之一设置 DotTrace 插件寻求一些帮助 - 到目前为止,我已经按照此处的说明进行操作,并且得到了一个有时有效的构建:
但是,这有时会失败,因为构建会生成两个快照(snapshot.dtp和snapshot-2.dtp)。
经过多次反复试验,我发现有时失败的原因是因为我的测试有时出现在第一个 .dtp 文件(DotTrace 的 Reporter.exe 使用的文件)中,有时出现在第二个文件中。
另一个 .dtp 文件似乎与 nunit3-console.exe 程序相关联,因此应该排除,因为我已将此程序添加到 TeamCity 构建设置中的“进程过滤器”中:
*nunit3-console.exe
(我在这里尝试了所有组合,包括输入完全限定的文件路径)
这具有在运行探查器时将以下行添加到 dotTrace.project.xml 文件的效果:
<ProcessNameFilter>*nunit3-console.exe</ProcessNameFilter>
我的理解是,这应该停止对命名进程进行分析(这样就不会生成额外的 .dtp 文件。但是,当构建运行时,我会在日志文件中看到以下几行:
[16:01:04][步骤 12/14] dotTrace Console Profiler 2018.3.2 build 777.0.20190124.112417。版权所有 (C) 2019 JetBrains sro
[16:01:10][步骤 12/14] 正在分析...
[16:01:10][Step 12/14] Executable='[file path]\nunit3-console.exe' (non-child) 被传递用于过滤
[16:01:10][步骤 12/14] 通过过滤器可执行文件='[文件路径]\nunit3-console.exe'
这表明 nunit3-console.exe 没有被排除,正如过滤器所建议的那样。
我能找到的最接近的建议是here,它似乎暗示了我在做什么,但仅适用于 NUnit 2:
https://www.jetbrains.com/help/profiler/Profiling_Guidelines__Profiling_Unit_Tests.html
有谁知道确保排除 nunit3-console.exe 以使其不生成快照文件的方法?