测量UWP应用程序的代码覆盖率

Sco*_*nry 8 c# code-coverage uwp

对于标准的CSharp/UWP应用程序,是否有一种测量Unitest代码覆盖率的好方法?看起来Visual Studio工具不适用于UWP.我的最终目标是对我们的测试进行彻底的客观测量,并观察覆盖范围的回归.

Red*_*ode 1

我已经使用 VS2015 获得了适用于以下配置的代码覆盖率:

  • 创建可移植类库 (PCL) 项目。
  • 在“项目属性”中,将项目重新定位到 .NETStandard1.4(有关为何选择 v1.4 的原因,请参阅官方兼容性矩阵)。
  • 从 UWP 应用引用 PCL 项目。
  • 对于测试项目,使用 xUnit 和 .NET Core 类库,并按照xUnit 文档中的描述进行设置。

如果您可以最大限度地减少 UWP 应用项目中的代码量(例如,通过使用 MVVM 模式),那么您的大多数测试将针对 PCL。由于代码覆盖率适用于如图所示设置的 .NET Standard 库,因此即使您无法衡量 UWP 应用项目本身的覆盖率,您的数字也将相当准确。

(当然,这对于新应用程序比现有应用程序更实用,因为它需要特定的设计)。