coverageSummary
Class: matlab.coverage.Result
Namespace: matlab.coverage
Description
Input Arguments
results
— Results of code coverage analysis
matlab.coverage.Result
vector
Results of the code coverage analysis, specified as a
matlab.coverage.Result
vector.
type
— Coverage type
"statement"
| "function"
| "decision"
| "condition"
| "mcdc"
Coverage type to retrieve information about, specified as one of the values in this table.
Value | Coverage Type |
---|---|
"statement" | Statement coverage |
"function" | Function coverage |
"decision" | Decision coverage |
"condition" | Condition coverage |
"mcdc" | Modified condition/decision coverage (MC/DC) |
Retrieving information about decision coverage, condition coverage, and modified condition/decision coverage (MC/DC) requires a MATLAB® Test™ license. For more information about coverage types, see Types of Code Coverage for MATLAB Source Code (MATLAB Test).
Data Types: char
| string
Output Arguments
summary
— Coverage summary
numeric matrix
Coverage summary, returned as an N-by-2 matrix, where
N is the length of results
. Each row in the
matrix corresponds to a coverage result. The first value in the row is the number of
executed outcomes for the specified coverage type, and the second value is the total
number of executable outcomes for that type.
description
— Description of code coverage analysis
structure array
Description of the code coverage analysis, returned as a 1-by-N
structure array, where N is the length of
results
. Each element of the array corresponds to a coverage
result. Use this argument to access detailed information about the code coverage
analysis. For example, you can access source code location information and an execution
count for each outcome within the code.
Examples
Access Information About Statement Coverage
Run a suite of tests and collect the code coverage result. Then, retrieve information about statement coverage from the result.
In a file named quadraticSolver.m
in your current folder, create the quadraticSolver
function. The function takes as inputs the coefficients of a quadratic polynomial and returns the roots of that polynomial. If the coefficients are specified as nonnumeric values, the function throws an error.
function r = quadraticSolver(a,b,c) % quadraticSolver returns solutions to the % quadratic equation a*x^2 + b*x + c = 0. if ~isa(a,"numeric") || ~isa(b,"numeric") || ~isa(c,"numeric") error("quadraticSolver:InputMustBeNumeric", ... "Coefficients must be numeric.") end r(1) = (-b + sqrt(b^2 - 4*a*c)) / (2*a); r(2) = (-b - sqrt(b^2 - 4*a*c)) / (2*a); end
To test the quadraticSolver
function, create the SolverTest
class in a file named SolverTest.m
in your current folder. Define three Test
methods that test the function against real solutions, imaginary solutions, and nonnumeric inputs.
classdef SolverTest < matlab.unittest.TestCase methods (Test) function realSolution(testCase) actSolution = quadraticSolver(1,-3,2); expSolution = [2 1]; testCase.verifyEqual(actSolution,expSolution) end function imaginarySolution(testCase) actSolution = quadraticSolver(1,2,10); expSolution = [-1+3i -1-3i]; testCase.verifyEqual(actSolution,expSolution) end function nonnumericInput(testCase) testCase.verifyError(@()quadraticSolver(1,"-3",2), ... "quadraticSolver:InputMustBeNumeric") end end end
Import the classes used in this example.
import matlab.unittest.plugins.CodeCoveragePlugin import matlab.unittest.plugins.codecoverage.CoverageResult
Create a test suite from the SolverTest
class.
suite = testsuite("SolverTest");
Create a test runner and customize it using a plugin that provides programmatic access to the code coverage information for the source code in the file quadraticSolver.m
.
runner = testrunner("textoutput"); format = CoverageResult; p = CodeCoveragePlugin.forFile("quadraticSolver.m",Producing=format); runner.addPlugin(p)
Run the tests. After the test run, the Result
property of format
holds the coverage result. In this example, all the tests pass.
runner.run(suite);
Running SolverTest ... Done SolverTest __________
Access the statement coverage summary. The returned vector indicates that all four statements in the source code were executed by the tests.
result = format.Result;
summary = coverageSummary(result,"statement")
summary = 1×2
4 4
Use the description of the code coverage analysis to retrieve the execution count for each statement.
[~,description] = coverageSummary(result,"statement")
description = struct with fields:
statement: [1×4 struct]
disp([description.statement.ExecutionCount])
3 1 2 2
Version History
Introduced in R2023a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)