【问题标题】:Is code coverage available in VS2012 for metro-style apps?VS2012 中是否可以为 Metro 风格的应用程序提供代码覆盖率?
【发布时间】:2023-03-04 23:11:02
【问题描述】:

我使用的是 Windows 8 Pro 和 Visual Studio 2012 Ultimate(都是 RTM)。

我创建了一个 Metro 风格的类库,然后创建了一个相应的单元测试库。两者都针对 WinRT(不是 .NET 框架)。

我可以很好地运行单元测试,但是当我尝试“分析所有测试的代码覆盖率”时,输出窗口会显示重建的结果,仅此而已。代码覆盖结果窗口全部变灰。

从网上阅读中,有些人暗示没有为 WinRT 程序集启用代码覆盖,但我无法确认。我也尝试过创建一个 .testsettings 文件,就像 VS2010 中需要的那样,并显式打开代码覆盖率,我得到了相同的结果。

任何人都可以确认或否认代码覆盖在 VS2012 RTM 中不适用于面向 WinRT 的程序集吗?我只是想弄清楚我是否缺少某些设置 - 或者是否不可能。

【问题讨论】:

标签: visual-studio-2012 microsoft-metro windows-runtime code-coverage


【解决方案1】:

由于 WinRT 应用的沙盒特性,现阶段不可能。

附:这是团队希望在不久的将来解决的问题(不,我没有时间表)

【讨论】:

  • 我知道这个问题提出才一个多月,但是这方面有什么进展吗?
  • 实际上可以将分析器挂接到 Windows 8 应用程序 (blogs.msdn.com/b/davbr/archive/2013/01/09/…) 诸如 NCover 或 OpenCover 之类的代码覆盖率分析器可以使用这种技术 - 问题是他们真的应该这样做吗?
  • 沙盒如何防止代码覆盖被收集? WinRT 应用程序可以写入(即使您必须授予它权限)文件吗?如果是这样,为什么它不能将覆盖率数据写入这样的文件?
  • 显然,WinRT 应用程序可以在获得权限时写入文件。因此,如果应用能够收集到测试覆盖率数据,这样的应用就有可能编写测试覆盖率数据。
猜你喜欢
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2018-06-05
  • 2016-12-12
相关资源
最近更新 更多