执行测试
dotCover 提供了多种执行单元测试的方法。 无论您选择哪种方式,执行进度、测试结果和输出都会显示在 单元测试会话窗口 中,覆盖率结果会显示在 单元测试覆盖率 窗口中。
在运行覆盖率分析之前,请确保所有目标程序集都存在 PDB 信息。 最安全的选择是使用 Debug构建配置来构建您的代码。
运行、调试或覆盖单元测试的不同方式
开始测试执行
使用一种方法来执行测试 在当前文档中。
使用一种方法来执行测试 在项目/解决方案中。
如果存在现有的 单元测试会话 ,您可以 运行、调试或覆盖 会话中的部分或全部测试:
在 单元测试会话窗口 中选择您想要执行的测试,然后点击工具栏上的 运行单元测试
Control+T R/调试单元测试
Control+T D。要运行会话中的所有测试,请点击工具栏上的 运行当前会话
Control+T Y ,或者从主菜单中选择 。要覆盖会话中选定节点的测试,请右键点击该节点并选择 覆盖单元测试
Control+T H。要自动开始并运行选定的测试,直到其中一个测试失败,请展开 运行单元测试
Control+T R 按钮上的选择器并选择 运行单元测试,直至失败。
当测试在单元测试会话中运行时,执行进度会显示在单元测试会话窗口工具栏下方的状态栏中,并且进度图标会显示在当前正在执行的测试旁边。 您可以同时运行多个单元测试会话。 但是,当您调试测试时,一次只能执行一个测试会话。
如果需要,您可以在工具栏上启用 跟踪运行中的测试
选项。 如果启用,测试树中的选择会自动切换到当前正在运行的测试,并且输出面板在执行期间始终显示当前测试的输出。
您还可以启用 运行测试时自动滚动输出
选项以跟随测试运行时的输出。
停止测试执行
点击工具栏上的 停止执行
以中止测试的执行或覆盖率分析。dotCover 将向测试运行器发送信号以停止执行。 根据测试框架的不同,执行可能会立即中止,或者运行器可能会尝试完成当前测试后再停止。
如果测试运行器继续执行当前测试, 停止执行 图标会更改为
。 您可以再次点击它以强制退出测试运行器进程。
如果需要,您可以始终通过点击工具栏上的 重复上一次运行
,按下 Control+T T 或从菜单中选择 来 重复执行或覆盖分析 您上次执行的测试。
应用覆盖率过滤器
dotCover 支持两种类型的覆盖率过滤器,可让您从覆盖率分析中排除代码:运行时过滤器(在覆盖率会话期间应用)和覆盖率结果过滤器。 了解详情
自定义执行过程
默认情况下,dotCover 使用单元测试项目设置来定义执行测试时应使用的 .NET Framework 版本和处理器架构。
当您的项目中的测试(有时是间接或隐式地)使用基于 CLR2 的程序集,而您的项目已经面向 CLR4 时,测试执行期间可能会发生错误。 您可以通过明确指定应使用的 CLR(.NET Framework)来避免这种情况。 为此,请在 dotCover 选项 的 页面上使用 默认 .NET Framework 版本 选择器 Alt+R, O 。 此偏好设置会影响在 NUnit、XUnit 和 MSpec 测试框架下运行的测试。 它尚未对在 MSTest 下运行的测试产生影响。
您还可以使用该选项页面上的 默认平台架构 选择器更改平台架构(32 位或 64 位)。
如果需要,您可以使用工具栏上的 选项 选择器为特定的 单元测试会话 覆盖这些设置。