API 覆盖率结果包含在 HTML、PDF 和 XML 报告中。
HTML 和 PDF 报告
为启用 API 覆盖率的测试运行生成的 HTML 和 PDF 报告将包括一个 API 覆盖率部分,该部分显示针对服务定义的 API 覆盖率。它们详述了每个可用资源和操作实现的覆盖率级别,以及该覆盖率测试通过或测试失败的状态。它们还准确描述了 .tst 和测试覆盖的每个操作(在该级别也有一个通过/失败状态)。
可覆盖的资源列的初始视图显示每个已知的“可覆盖资源”,该资源是服务定义(RAML、OpenAPI/Swagger、WADL、WSDL)。
成功 / 合计列指示测试调用可覆盖资源(服务、特定的 REST 资源/方法或 SOAP 方法等)的次数,以及这些测试中有多少真正成功。
覆盖率列指示被调用的资源数目与资源总数。不映射到任何服务定义的资源列在“未知服务”下。图形化的覆盖率栏显示了整个覆盖率(条形图中有色部分的总长度),以及实现该覆盖率的测试的通过/失败分解。
该表包含多个层级。覆盖率是为整个服务以及每个资源/方法和操作计算的。当在浏览器中查看 HTML 报告时,可以折叠和展开树分支。
如果想查看是什么 .tst 和特定测试覆盖了某个方法,请深入树结构,然后点击显示测试链接。若要快速展开和折叠,可以使用报告左上角的全部展开 / 全部折叠链接。
注意,只有在首选项> 报告中禁用掉只有顶层的测试套件报告选项后才会显示测试用例。
XML 报告
为启用 API 覆盖率的测试运行生成的 XML 报告将包括一个 API 覆盖率部分,该部分报告针对服务定义的 API 覆盖率。
报告包含一个 APICoverage
元素,其中包括可覆盖的服务定义列表。对于执行过程中测试期间涉及的每个操作,都将有一个 test-ref
元素列表。每个 test-ref
的 id
指示覆盖操作的测试。
下面是 XML 报告的 API 覆盖部分的一个非常简单的例子:
<APICoverage> <service definition-uri="http://machine:8080/petstore.yaml" type="REST"> <resource id="/pets-multipart/{petId}"> <operation name="POST" /> </resource> <resource id="/pets-urlencode/{petId}"> <operation name="POST" /> </resource> </service> <service type="Unknown Service"> <resource id="http://ws1.parasoft.com:8080/examples/servlets/Echo/v2/pets-multipart/"> <operation name="POST"> <test-ref id="wk:///TestAssets/Diff3 Swagger.tst#01#02#03" /> </operation> </resource> <resource id="http://ws1.parasoft.com:8080/examples/servlets/Echo/v2/pets-urlencode/"> <operation name="POST"> <test-ref id="wk:///TestAssets/Diff3 Swagger.tst#00#01#04#05" /> </operation> </resource> </service> </APICoverage>