报告的测试结果

更新:2007 年 11 月

根据所运行的测试类型的不同,测试运行时引擎会产生多种测试结果。

说明:

有关内置的测试类型(具体是指单元测试、手动测试、Web 测试、负载测试、一般测试和顺序测试)产生的结果的信息,请参见特定测试类型的结果。

所有测试类型都共享以下行为:

  • 基本结果。运行一个测试会产生一组基本测试结果(不管是本地运行测试还是远程运行测试)。有关更多信息,请参见基本测试结果。“测试结果”窗口将显示这些结果(包括类似“通过”和“失败”这样的结果),以及生成的任何错误消息。可以在此窗口中自定义信息的显示方式;有关更多信息,请参见如何:调整测试结果视图

  • 测试结果文件。运行测试将产生一个测试结果文件并将其自动保存到磁盘。此 XML 文件的扩展名为 .trx,其中包含了有关测试和测试运行的信息。由于在关闭解决方案之前测试运行会一直保留在内存中,因此,可以通过单击“导出测试运行结果”,将它用指定的名称保存到磁盘上的指定位置。同样,可以从磁盘上的 .trx 文件加载测试结果。有关更多信息,请参见如何:导出测试结果

    说明:

    Visual Studio 会将自动生成的测试结果文件写入解决方案文件夹层次结构内的“测试结果”文件夹中。如果您使用“新建项目”对话框创建项目并接受默认文件夹结构,则解决方案文件夹位于文件夹层次结构中的“我的文档”下。如果您是从 Team Foundation 版本控制 打开的解决方案,则解决方案位于您的工作区中。有关“测试结果”文件夹位置的更多信息,请参见测试部署概述

  • 其他结果。可以在“测试结果详细信息”页中找到有关单个测试的更多结果,在“测试运行详细信息”页中找到有关整个测试运行的更多结果。所有这些页中显示的结果将取决于测试的类型。

    说明:

    您在运行测试并查看测试结果后,可能需要更改这些测试并再次运行它们(特别是对于一些测试失败的情况)。若要重新创建一个测试运行(可能是在更改其中的一个或多个测试后),单击“测试结果”窗口工具栏上的“重新运行”。有关更多信息,请参见如何:重新运行测试

测试结果的常规报告

对于所有测试类型而言,一旦开始测试运行,就会显示相应的测试名称和测试结果。在整个测试运行期间,诸如“挂起”、“正在进行中”、“没有结论”、“通过”和“失败”这样的结果将会实时得到更新。对某些测试类型(尤其是 Web 测试和负载测试)而言,在测试运行时将报告更多的数据;请参见特定测试类型的结果。

说明:

可以用多种方法更改“测试结果”窗口中的显示,例如通过筛选仅显示特定的测试运行。有关更多信息,请参见如何:调整测试结果视图

可以使用“测试结果”窗口上的按钮来暂停、停止和继续执行测试运行。在进行此操作时,将会更新测试结果以反映测试运行的当前状态。有关更多信息,请参见如何:暂停、继续和停止测试运行

测试运行完成后,其结果将写入磁盘。有关标识和使用存储测试结果的文件的更多信息,请参见 如何:导入测试结果

说明:

远程运行测试是一个异步操作。可以启动一个远程测试运行,然后关闭 Visual Studio,测试将继续运行。在重新启动 Visual Studio 并将其连接到远程运行之后,测试结果将显示在“测试结果”窗口中。

“测试结果详细信息”页

对于除 Web 测试和负载测试之外的所有测试类型而言,“测试结果详细信息”页除了显示“测试结果”窗口中所包含的全部信息外,还会额外显示有关单个测试的详细测试结果。为此,可以在“测试结果”窗口中单击相应的测试结果并按 Enter,也可以双击该测试结果,或者右击该测试结果并选择“查看测试结果详细信息”。

说明:

在此窗口中将显示特定的单个测试类型的详细测试结果。对于那些自定义 Visual Studio Team System Test Edition 的用户以及希望为特定的测试结果添加新的查看器类型的用户,该页会特别有用。

此窗口也将显示某些会导致测试失败的错误,例如以下的错误:

  • 由于容器测试(具体是指负载测试或顺序测试)是空的,因此无法运行。

  • 无法找到并部署一个或多个对每个测试单独设置的部署项。

“测试运行详细信息”页

运行测试后,测试运行的总体状态将显示在“测试结果”窗口的状态栏中。此状态针对的是整个测试运行,而不是测试运行中所包含的单个测试。

若要查看整个测试运行的详细结果,请打开“测试运行详细信息”页。为此,请单击状态栏上的状态链接。状态链接使用的文字反映了测试运行的状态:“测试运行错误”、“测试运行没有结论”、“测试运行失败”或“测试运行完成”。

“测试运行详细信息”页显示了有关测试运行的常规信息,包括在运行它时处于活动状态的测试运行配置。此页还显示了测试运行中已通过、失败或跳过的测试的数目,并描述了所遇到的任何错误,例如检测二进制文件失败。

此窗口还显示了某些会导致测试运行失败的错误,例如以下的错误:

  • 无法部署在运行配置中指定的部署文件。

  • 因无法检测程序集,导致代码覆盖失败。

  • 因无法收集信息,导致代码覆盖失败。

  • 在远程测试运行后,无法从控制器复制文件。

特定测试类型的结果

不同的内置测试类型会产生不同的测试结果。有关测试结果的更多信息,请参见基本测试结果

  • 单元测试。除了出现以下情况外,单元测试都会顺利通过:测试超时、引发了异常但没有相应的 ExpectedException 属性、某个 Assert 语句导致测试失败或产生“没有结论”的结果。有关更多信息,请参见单元测试的结构。运行单元测试时还可以获得代码覆盖率结果;有关更多信息,请参见如何:获取代码覆盖率数据

    对于单元测试,“测试结果详细信息”页还会显示测试的持续时间、运行测试的计算机的名称以及测试的开始时间和结束时间。此页还会显示所生成的任何错误消息以及发生错误的位置(显示在“错误堆栈跟踪”下)。

  • 手动测试。运行手动测试的测试人员将指定测试的结果,并且可以选择键入注释。当您按照“测试结果详细信息”页中的说明请求深入的详细信息时,将显示一个窗口,其中显示了手动测试的文本、测试人员键入的任何注释以及测试结果。

  • Web 测试。Web 测试所得到的详细测试结果比大多数测试类型所得到的测试结果要广泛得多。例如,Web 测试结果中会包括已发出的 HTTP 请求和已返回的 HTTP 响应。“Web 浏览器”选项卡将显示每一个已返回的网页的映像。有关更多信息,请参见如何:运行 Web 测试

  • 负载测试。负载测试的结果较为广泛,例如,它包括一个反映在整个测试运行期间计数器的瞬时值的图形。既可以在生成负载测试结果的第一时间查看它们,也可以在负载测试运行完成后查看结果。有关更多信息,请参见关于负载测试结果储存库

  • 一般测试。一般测试的结果包括“通过”或“失败”值,并会显示所生成的任何错误消息。如果一般测试所包装的可执行文件返回的值为 0,则测试通过,如果返回任何其他的值则测试失败。一般测试还会创建一个详细的 XML 结果文件,此文件不仅可以报告“通过”或“失败”值,还可以报告其他值(例如“没有结论”或“超时”),此外还提供了更为详细的信息。有关更多信息,请参见一般测试概述在一般测试中使用摘要结果文件

  • 顺序测试。如果一个顺序测试中所包含的所有测试都通过了,则该顺序测试也将通过。“测试结果详细信息”页包含一个表,其中列出了该顺序测试中包含的所有测试。您可以通过双击此表中的行来查看有关单个测试的详细结果。有关更多信息,请参见顺序测试概述

请参见

任务

如何:调整测试结果视图

概念

基本测试结果

其他资源

保存和发布测试结果