【问题标题】:Is that possible to use Visual Studio Code Coverage without Unit Testing?是否可以在没有单元测试的情况下使用 Visual Studio 代码覆盖率?
【发布时间】:2012-02-24 11:00:21
【问题描述】:

是否可以在没有单元测试的情况下使用 Visual Studio 代码覆盖率?我想在正常程序执行中进行覆盖率分析。

更新:

目前没有针对我想要的使用 Visual Studio Coverage 工具的解决方案,尽管 dotCover 似乎是该问题的一个不错的第三方解决方案。

【问题讨论】:

标签: visual-studio code-coverage


【解决方案1】:

我认为您可能误解了什么是代码覆盖率。代码覆盖率表示单元测试执行了多少代码。如果您没有单元测试,则代码覆盖率为零。您可能指的是代码分析(测量代码单元执行需要多长时间?)

更新:

如果您正在寻找关于在正常执行期间执行哪些代码的指标,您需要进行分析。那里有几个分析器(例如 Red Gate ANTS),或者您可以使用自己的本地解决方案。如果您的应用是 ASP.NET/ASP.NET MVC,您还可以查看 StackExchange 团队制作的 MVC Mini Profiler:http://code.google.com/p/mvc-mini-profiler/

新更新
我对cmets感到困惑。代码覆盖率是关于单元测试的。

来自维基百科:

在计算机科学中,代码覆盖率是用来描述 程序的源代码由特定人员测试的程度 测试套件。一个代码覆盖率高的程序已经更彻底 经过测试并且包含软件错误的机会低于 代码覆盖率低的程序。

问题的标题询问如何“在没有单元测试的情况下使用 Visual Studio 代码覆盖率”。如果没有单元测试,那么衡量代码覆盖率是没有意义的。

【讨论】:

  • 如果您想查看在正常程序执行期间实际使用了多少百分比的代码库,那么这将是一个有用的指标来估计您有多少“死代码”。
  • 实际上,我确实想知道我的代码在任何类型的执行过程中被覆盖了多少(例如手动测试执行)。
  • 代码覆盖率就是您选择的执行方式有多少代码被执行。如果您选择通过单元测试执行它,很好,您可以获得代码覆盖率。如果您选择手动执行它,很好,您可以获得代码覆盖率。如果您选择在生产中使用它,那很好。没有理由不能将所有这三种方法与正确的工具结合起来。请参阅我们的测试覆盖工具系列:www.semanticdesigns.com/Products/TestCoverage,了解可以很好地执行此操作的工具。
【解决方案2】:

这是一个更详细的答案,而不仅仅是一个链接:

要使用 IIS Express 应用程序对已检测的文件执行此操作: 从C:\Users\<your user>\Documents\IISExpress\config\applicationhost.config获取站点名称

vsperfcmd /start:coverage /output:run.coverage

启动您的应用 运行您的手动测试 然后完成

vsperfcmd /shutdown

来自相关问题https://stackoverflow.com/a/23791306/57883

完整的浏览,这里是我刚刚发布的博客文章的链接:

http://imaginarydevelopment.blogspot.com/2015/02/get-code-coverage-from-vs-without.html

【讨论】:

  • 通过 vstest.console 运行的测试在 webapp 上使用 vsperfcmd 有什么运气吗?我总是得不到报道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 2018-10-21
  • 2012-01-18
  • 1970-01-01
相关资源
最近更新 更多