【问题标题】:Missing source code using MSTest with ANTS Performance Profiler使用 MSTest 和 ANTS Performance Profiler 缺少源代码
【发布时间】:2019-04-10 18:46:19
【问题描述】:

我们正在为使用 ASP.NET C# 与 EF 6 和 .Net Framework 4.6.1 的客户开发一个项目。我们有一些运行速度有点慢的集成测试和单元测试,所以我们决定运行一个分析器。在搜索过程中,我们发现了 ANTS Performance Profiler,并决定试一试。

我们使用 .NET 可执行文件创建了一个分析会话,并将分析模式配置为 line-level & method-level timings - All methods inc. framework。但是,在运行分析器时,我们看不到任何方法并且面临错误消息

分析器在源代码中没有找到任何方法。要查看所有已分析的方法,请在下面的显示选项中选择“所有方法”。

我该如何解决这个问题?


我们最初使用 VSTest 遇到了这个问题,然后决定改用 MSTest,因为它似乎有更好的文档 (1)。它也没有工作。

我们进行了一些调查并尝试了一些链接 (2) (3),但都没有帮助。 我们发现一个可能的问题是 ANTS Profiler 没有找到 .pdb 文件。但是,我们验证了.pdb 文件存在于同一文件夹中,并且与程序集的DLL 具有相同的名称。我们还运行了进程监视器并确认进程 MSTest.exe 正在读取正确的 .pdb 文件

以下是启动选项:

  • .NET 可执行文件的路径:C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\MSTest.exe
  • 命令行参数:/testcontainer:Projeto.dll /test:Projeto.Features._001_UsuarioFeature._001_A_1_1* /testsettings:"C:\Users\Documents\projeto\TestSettings1.testsettings"
  • 工作目录:C:\Users\Documents\projeto\bin\Debug

附加信息:

  • 我们正在运行 ANTS Performance Profiler 版本 10.1.5.1275

  • 操作系统:Windows 10 企业版

【问题讨论】:

  • 您还应该包括 ANTS Performance Profiler 版本以供将来参考。
  • 已编辑 @RenatoChencinski,谢谢 :)

标签: c# mstest ants


【解决方案1】:

我们联系了 RedGate 支持,他们解决了我们的问题。

使用/testcontainer​ 命令行参数运行分析器本身就可以了!原来 /testsettings 参数是导致故障的参数,然后,一旦我将其删除,分析器就能够看到源代码。

Obs:在我们将测试工具更改为 MSTest 后,需要 /testsettings 参数。它负责引用我们的一些依赖项。去掉参数后,解决方案是硬编码我们依赖的路径,只是为了测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2013-02-26
    • 2019-05-21
    • 2014-08-19
    相关资源
    最近更新 更多