0

我正在构建一个基于 specflow 和 XUnit 的测试套件,其中包含运行一些遗留 .net 4.5 应用程序的各种端到端测试

遗留应用程序几乎没有任何单元测试。我希望使用端到端测试查看在遗留应用程序中运行的代码的覆盖率。我知道最好进行适当的单元测试,但是由于目前编写代码的方式是不可行的,因此架构使它变得非常困难。有没有办法通过使用 DotCover 和/或 Coverlet 来做到这一点?

4

1 回答 1

0

我的体验可能略有不同,因为我将 dotCover 作为 Jetbrains Ultimate 软件包的一部分与 Resharper。

如果您单独运行 dotCover,那么您可以像往常一样运行应用程序。当您捕获快照时,它将以百分比的形式向您显示所执行代码的每个部分的测试覆盖率。我倾向于在调试版本上运行它。

如果您将结果导出为 HTML,然后查看它们,您将在左侧的窗格中显示覆盖率,并通过选择左侧的部分来匹配右侧的代码区域: 在此处输入图像描述

在 Visual Studio 中,您应该能够选择“涵盖所有测试”,或者如果您开始测试会话,您可以选择(突出显示)要运行的单元测试,然后选择“涵盖单元测试”。您需要确保使用 Jetbrains/dotCover 菜单选项而不是 MS 测试运行单元测试。封面版旁边有一个小盾牌符号。

这将运行突出显示的单元测试并为您提供覆盖率输出。然后,您可以将报告导出为 HTML 或在 Visual Studio 中选择代码文件,它将显示已测试和通过的区域(每行左侧有一个绿色标记)或未测试或失败(每行将有一个红色标记左边)。

在此处输入图像描述

于 2021-07-16T07:27:04.977 回答