当前位置: 首页 > 知识库问答 >
问题:

在Visual Studio Community 2015中分析测试

欧阳晗日
2023-03-14

web上的文章建议您可以通过右键单击并选择“配置文件测试”来配置Visual Studio中的测试:http://adamprescott.net/2012/12/12/performance-profiling-for-unit-tests/但我只看到NUnit测试的“运行测试”和“调试测试”,xUnit.NET也是如此。为了分析测试,我缺少什么?这只是社区版不支持,还是缺少一些配置或组件?

(如果社区不支持它,这看起来很奇怪,因为我可以在社区中分析可执行文件,因此可以通过创建一个运行测试的可执行文件来解决这个问题,并对其进行分析。为什么支持分析可执行程序而不支持分析测试?)

NUnit的复制步骤:在Visual Studio社区2015中创建了新的C#库项目,粘贴了http://nunit.org/index.php?p=quickStartSource

<packages>
  <package id="NUnit" version="2.6.4" targetFramework="net452" />
  <package id="NUnit.Runners" version="2.6.4" targetFramework="net452" />
  <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net452" />
</packages>

甚至重新启动了视觉工作室。测试显示在测试资源管理器中并且可以运行,但右键单击菜单上没有可用的“配置文件测试”选项。也尝试了 xUnit.net 的等效步骤,但没有快乐。

共有3个答案

空翼
2023-03-14

答案似乎出现在问题中提到的亚当·普雷斯科特页面上的评论中:

2013年8月16日下午4点57分

遗憾的是,根据MSDN的说法,这一功能仅在高级版和旗舰版中提供。

http://msdn.microsoft.com/en-us/library/ms182372.aspx

评论中的链接目前指的是Visual Studio 2015版。该页面的2010版清楚地显示了Visual Studio 2010的哪些版本支持性能分析。2012和更高版本的页面省略了哪些版本支持概要分析的明确声明。

楮乐邦
2023-03-14

可以使用分析MSTest测试(也可以使用测试适配器分析nunit/xunit)vstest.console.exe

  • 从Analyze中选择可执行程序作为目标-

有关如何为 vstest 提供参数的更多信息.exe

储峻
2023-03-14

这就是我今天早些时候能够在VS社区2015中分析NUnit测试的方式。

> < li >确保您正在以管理员身份运行VS2015。 < li >单击分析

这将是NUnit的测试运行程序nunit3-console.exe,或者您的测试框架的任何等价物。

  • 可执行文件的完整路径是什么<代码>C:\ProgramFiles(x86)\NUnit.org\NUnit控制台\nunit3控制台。exe
  • 命令行参数:<code>bin\Debug\Test。dll--inprocess--testTestNamespace.TestClassName。Test_Method_Name
  • 工作目录:\\MAC\Home\Documents\GitHub\ApplicationName\Test

您需要将这些路径替换为对您的系统有意义的路径。--inprocess开关使测试从NUnit进程内联运行。如果没有这个开关,将生成一个子进程,即使剖析器看起来可以工作,您也只需要剖析nunit3控制台。exe,而不是您自己的代码。

第 4 页:单击“完成”。

请记住,探查器将生成报告文件并将其保存到您的工作目录中。在我的例子中,由于我的工作目录是一个UNC共享,因此需要我选择一个本地文件夹路径来保存报告,然后才能启动探查器。

终端窗口应短暂出现,其中包含 NUnit 运行器输出。窗口会自动关闭,因此,如果您看到闪烁的红色文本,您将没有时间在错误消失之前读取错误。您可以将第 3 页的命令复制到命令提示符中,以便更悠闲地阅读。

在命令运行之后(无论成功与否),您应该会得到一个报告,您可以在其中跟踪您的测试导致了多少分配。

不幸的是,在一个小测试中的分配可能会被NUnit.Framework本身引起的分配所掩盖。我四处点击,看看是否有办法将它们从结果中排除,但没有找到这样做的方法,所以我只是忽略了它们。

如果要分析不同的测试,可以打开性能资源管理器并右键单击<code>nunit3-console.exe

这种解决方案成功地分析了单个NUnit测试的结果,但是这种说法带有一些警告。

与创建一个单独的可执行文件来进行分析相比,它只是稍微不那么令人讨厌,而且如果您需要进行一些真正敏感的分析,NUnit分配出现在报告中的事实可能会使它不可行。

也许有更多VS 2015经验的人可以帮助我改进这个答案,提供一些如何排除NUnit的提示。报告中的html" target="_blank">框架dll?

 类似资料:
  • 本文向大家介绍.NET Orm性能测试分析,包括了.NET Orm性能测试分析的使用技巧和注意事项,需要的朋友参考一下 简介 OrmBenchmark 这个项目主要是为了测试主要的Orm对于 SqlServer 数据库的查询并将数据转换成所需 POCO 对象的耗时情况(好吧,实际上不完全orm,更像是SqlMapper ...) 测试结果: .NetFramework 4.6 有预热 .NetFr

  • 在本章中,我们将学习基准测试和分析如何帮助解决性能问题。 假设我们编写了一个代码并且它也提供了所需的结果,但是如果我们想要更快地运行此代码,因为需求已经改变了。 在这种情况下,我们需要找出代码的哪些部分正在减慢整个程序的速度。 在这种情况下,基准测试和分析可能很有用。 什么是基准测试? 基准测试旨在通过​​与标准进行比较来评估某些内容。 然而,这里出现的问题是什么是基准测试以及为什么在软件编程的情

  • 我现在正处于一个艰难的项目中,其中一个重要部分被重构,并通过大量失败的测试进行了检入。 我在maven中运行PIT,但由于测试必须是绿色的,所以我已经很长时间不能运行了,但我希望至少在运行的测试上有PIT概述。 将失败测试与PIT隔离的最有效方法是什么?

  • 问题内容: 在我正在从事的项目中,我们有通过Selenium编写的功能测试。该应用程序随每个功能发行版进行功能更改。 有没有一种工具/机制可以跟踪自动化功能测试中的差距,以便至少手动测试人员可以关注这些领域? 注意:我们并未执行FTDD,因此即使我们确保较高的单元测试覆盖率,功能测试覆盖率也可能会很差。我们使用NCover检查单元测试范围。 问题答案: 据我所知,至少有两个(商业但便宜)的工具可让

  • 我已经掌握了一些YourKit Java探查器的基本工作知识。我想对我的Selenium WebDriver+TestNG框架执行内存和CPU分析。它包含大量PageObject类和Test类形式的测试。我已签出任何可以说明如何执行此操作的指导的联机资源,但找不到任何资源。 有人在WebDriver+TestNG测试上做过内存+CPU分析吗?是否可以首先对这类java应用程序进行内存分析?需要指路