Generate PDF test report from test results
generatePDFReport( generates a test
report from the test results in PDF format and saves it to a temporary folder.
Use this method to generate a PDF test report once the test run is complete and the test results are available.
generates a report in the specified orientation. You can specify the orientation as the last
argument in any of the previous syntaxes. For example,
generatePDFReport(results,PageOrientation="landscape") generates a test
report in landscape orientation.
results — Results of running test suite
Results of running a test suite, specified as a
fileName — Name of test report file
string scalar | character vector
Name of the test report file, specified as a string scalar or character vector
fileName argument can
include a relative path, but the relative path must be in the current folder. Otherwise,
fileName must include a full path.
orientation — Report orientation
"portrait" (default) |
Report orientation, specified as
"landscape". By default, the method generates a report in
Generate PDF Report After Running Tests
Run a suite of tests and then generate a PDF test report from the test results.
Create a function-based test
sampleTest.m in your current folder. The file contains two tests that pass and one test that fails.
function tests = sampleTest tests = functiontests(localfunctions); end function testA(testCase) % Test passes verifyEqual(testCase,2+3,5) end function testB(testCase) % Test fails verifyGreaterThan(testCase,13,42) end function testC(testCase) % Test passes verifySubstring(testCase,"Hello World!","llo") end
Run the tests in
results = runtests("sampleTest");
Running sampleTest . ================================================================================ Verification failed in sampleTest/testB. --------------------- Framework Diagnostic: --------------------- verifyGreaterThan failed. --> The value must be greater than the minimum value. Actual Value: 13 Minimum Value (Exclusive): 42 ------------------ Stack Information: ------------------ In C:\work\sampleTest.m (testB) at 10 ================================================================================ .. Done sampleTest __________ Failure Summary: Name Failed Incomplete Reason(s) =============================================================== sampleTest/testB X Failed by verification.
Generate a PDF test report from the test results in a temporary folder. By default, the report has portrait orientation.
Generating test report. Please wait. Preparing content for the test report. Adding content to the test report. Writing test report to file. Test report has been saved to: C:\TEMP\tp47385ca4_0f5e_4b7a_b30d_790768c79edd.pdf
Generate another report in landscape orientation, and save it as
myTestReport.pdf in your current folder.
Generating test report. Please wait. Preparing content for the test report. Adding content to the test report. Writing test report to file. Test report has been saved to: C:\work\myTestReport.pdf
Open the test report in your current folder.
A test report generated by the
generatePDFReportmethod does not include the text output from the Command Window.
When you generate a test report from test results that are created by a default runner, the report includes diagnostics for failing events and messages logged at the
matlab.unittest.Verbosity.Terselevel. To generate a test report that includes diagnostics for passing events or messages logged at different verbosity levels, first customize your test run by adding a
DiagnosticsRecordingPlugininstance to the runner. For example, run your tests and generate a test report that includes passing diagnostics and messages logged at all verbosity levels.
import matlab.unittest.plugins.DiagnosticsRecordingPlugin import matlab.unittest.Verbosity suite = testsuite("sampleTest"); runner = testrunner("minimal"); runner.addPlugin(DiagnosticsRecordingPlugin( ... IncludingPassingDiagnostics=true,LoggingLevel=Verbosity.Verbose)) results = run(runner,suite); generatePDFReport(results)
To generate a test report without explicitly collecting the test results, customize your test run by adding a
TestReportPlugininstance to the test runner.
PDF test reports are generated based on your system locale and the font families installed on your machine. When generating a report with a non-English locale, unless your machine has the Noto Sans CJK font families installed, the report might have pound sign characters (#) in place of Chinese, Japanese, and Korean characters.
Introduced in R2022a