matlab.unittest.plugins.CodeCoveragePlugin类
生成代码覆盖率报告的插件
描述
为MATLAB生成一个代码覆盖率报告®源代码的实例matlab.unittest.plugins.CodeCoveragePlugin
类传递给测试运行程序。当测试套件运行时,插件生成一个报告,其中显示测试执行的源代码部分。
的matlab.unittest.plugins.CodeCoveragePlugin
类是一个处理
类。
创建
创建一个CodeCoveragePlugin
实例使用它的静态方法之一:
要创建为文件中的源代码生成代码覆盖率报告的插件,请使用
forFile
静态方法。要创建为文件夹中的源代码生成代码覆盖率报告的插件,请使用
forFolder
静态方法。要创建为包中的源代码生成代码覆盖率报告的插件,请使用
forPackage
静态方法。
方法
公共方法
matlab.unittest.plugins.CodeCoveragePlugin.forFile |
创建插件,为文件生成代码覆盖率报告 |
matlab.unittest.plugins.CodeCoveragePlugin.forFolder |
创建插件,为文件夹生成代码覆盖率报告 |
matlab.unittest.plugins.CodeCoveragePlugin.forPackage |
创建为包生成代码覆盖率报告的插件 |
例子
生成HTML格式的代码覆盖率报告
运行一套测试,并为源代码生成HTML格式的代码覆盖率报告。
在一个名为sourceFolder
在当前文件夹中,创建quadraticSolver
函数。该函数以一个二次多项式的系数作为输入,并返回该多项式的根。如果系数指定为非数值,则函数抛出错误。
函数根= quadraticSolver (a, b, c)% quadraticSolver返回解二次方程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
类中的testsFolder
在您的当前文件夹中。定义三个测试
针对实解、虚解和非数值输入测试函数的方法。
classdefSolverTest < matlab.unittest.TestCase方法(测试)函数realSolution(testCase) actSolution = quadraticSolver(1,3,2);expSolution = [2 1];testCase.verifyEqual (actSolution expSolution)结束函数imaginysolution (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”)结束结束结束
要运行测试并生成代码覆盖率报告,请先添加sourceFolder
的路径。
目录“sourceFolder”)
创建测试套件testsFolder
.
套件= testsuite (“testsFolder”);
创建一个测试运行器,并使用一个插件对其进行定制,该插件为其中的代码生成HTML代码覆盖率报告sourceFolder
.指示插件将其输出写入一个名为coverageReport
在您的当前文件夹中。
进口matlab.unittest.plugins.CodeCoveragePlugin进口matlab.unittest.plugins.codecoverage.CoverageReport跑步者= testrunner (“textoutput”);sourceCodeFolder =“sourceFolder”;reportFolder =“coverageReport”;reportFormat = CoverageReport (reportFolder);p = CodeCoveragePlugin.forFolder (sourceCodeFolder“生产”, reportFormat);runner.addPlugin (p)
运行测试。在本例中,所有测试都通过了,源代码得到了全面的覆盖。该插件在指定的文件夹中生成一个HTML代码覆盖率报告coverageReport
,在当前文件夹中创建。默认情况下,报表的主文件为index . html
.
结果= runner.run(套);
运行SolverTest……完成SolverTest __________代码覆盖率报告已保存到:C:\work\coverageReport\index.html
打开报告的主文件。
打开(fullfile (“coverageReport”,“index . html”))
生成Cobertura XML格式的代码覆盖率报告
运行一套测试,并为源代码生成Cobertura XML格式的代码覆盖率报告。
在当前文件夹中的文件中,创建quadraticSolver
函数。该函数以一个二次多项式的系数作为输入,并返回该多项式的根。如果系数指定为非数值,则函数抛出错误。
函数根= quadraticSolver (a, b, c)% quadraticSolver返回解二次方程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)结束函数imaginysolution (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 (sourceCodeFile“生产”, reportFormat);runner.addPlugin (p)
运行测试。在本例中,所有测试都通过了,源代码得到了全面的覆盖。该插件在当前文件夹中生成Cobertura XML代码覆盖率报告。
结果= runner.run(套);
运行SolverTest……完成SolverTest __________
您可以在持续集成(CI)平台上处理生成的代码覆盖率报告。还可以使用以下命令查看其内容打开(reportFile)
或disp (fileread (reportFile))
.
更多关于
MATLAB源代码
类的静态方法之一创建插件时CodeCoveragePlugin
类,该插件将为文件中的源代码生成代码覆盖率报告.m
,.mlx
,或.mlapp
扩展。
版本历史
介绍了R2014bR2022a:添加多个CodeCoveragePlugin
实例到测试运行程序
你可以添加多个CodeCoveragePlugin
实例到测试运行程序。如果您以这种方式定制测试运行器,那么每个插件必须报告不同的文件集。例如,运行测试并同时在当前文件夹中的两个文件夹中为源代码生成HTML代码覆盖率报告。
套件= testsuite (pwd);跑步者= testrunner (“textoutput”);进口matlab.unittest.plugins.CodeCoveragePluginp1 = CodeCoveragePlugin.forFolder (folderA);run . addplugin (p1) p2 = CodeCoveragePlugin.forFolder(folderB);runner.addPlugin(p2) results = runner.run(suite);
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。