主要内容

matlab.unittest.plugins.codecoverage.CoberturaFormat类

包:matlab.unittest.plugins.codecoverage

coberturaxml格式的代码覆盖率报告

描述

matlab.unittest.plugins.codecoverage.CoberturaFormat类提供了一种以Cobertura XML格式生成代码覆盖率报告的方法。若要按此格式生成代码覆盖率报告,请创建CodeCoveragePlugin实例,使用CoberturaFormat对象,然后将插件添加到测试运行程序。

创建

描述

例子

reportFormat = matlab.unittest.plugins.codecoverage.CoberturaFormat(文件名创建一个CoberturaFormat对象,用于指示CodeCoveragePlugin生成Cobertura XML格式的报表,并使用指定的文件名保存报表。

输入参数

全部展开

代码覆盖率报告文件的名称,指定为以。结尾的字符串标量或字符向量. xml.的文件名参数可以包含相对路径,但相对路径必须在当前文件夹中。否则,文件名必须包含完整路径。

例子:“myCoverageReport.xml”

例子:“C: \ \ myCoverageReport.xml工作”

例子

全部折叠

运行一套测试,并为源代码生成Cobertura XML格式的代码覆盖率报告。

在当前文件夹中的某个文件中,创建quadraticSolver函数。该函数以二次多项式的系数作为输入,并返回该多项式的根。如果将系数指定为非数值值,则该函数抛出错误。

函数根= quadraticSolver(a,b,c)函数的解返回金宝搏官方网站%二次方程a*x^2 + b*x + c = 0。如果~ isa (,“数字”|| ~isa(b,“数字”|| ~isa(c,“数字”)错误(“quadraticSolver: InputMustBeNumeric”...“系数必须是数字。”结束根(1)= (-b +根号(b^2 - 4*a*c)) / (2*a);√(2)= (-b -√(b^2 - 4*a*c)) / (2*a);结束

为了测试quadraticSolver函数,创建SolverTest当前文件夹中的类。定义三个测试针对实解、虚解和非数值输入测试函数的方法。金宝搏官方网站

classdefSolverTest < matlab.unittest.TestCase方法(测试)函数realSolution(testCase) actSolution = quadraticSolver(1,-3,2);expSolution = [2 1];testCase.verifyEqual (actSolution expSolution)结束函数imaginarySolution(testCase) actSolution = quadraticSolver(1,2,10);expSolution = [-1+3i -1-3i];testCase.verifyEqual (actSolution expSolution)结束函数nonnumericInput (testCase) testCase.verifyError (@ () quadraticSolver (1,“3”2),...“quadraticSolver: InputMustBeNumeric”结束结束结束

创建测试套件SolverTest类。

套件= testsuite(“SolverTest”);

创建一个测试运行器,并使用一个为文件中的源代码生成Cobertura XML代码覆盖率报告的插件对其进行定制quadraticSolver.m.指示插件将其输出写入一个名为coverageReport.xml在当前文件夹中。

进口matlab.unittest.plugins.CodeCoveragePlugin进口matlab.unittest.plugins.codecoverage.CoberturaFormat跑步者= testrunner“textoutput”);sourceCodeFile =“quadraticSolver.m”;reportFile =“coverageReport.xml”;reportFormat = CoberturaFormat(reportFile);p = CodeCoveragePlugin.forFile“生产”, reportFormat);runner.addPlugin (p)

运行测试。在这个例子中,所有的测试都通过了,源代码得到了完全的覆盖。插件在当前文件夹中生成Cobertura XML代码覆盖率报告。

结果= run .run(suite);
运行SolverTest…Done SolverTest __________

您可以在持续集成平台上处理生成的代码覆盖率报告。您还可以使用以下命令查看其内容打开(reportFile)disp (fileread (reportFile))

版本历史

在R2017b中引入

全部展开