Main Content

matlab.unittest.TestRunner.withNoPlugins

类: matlab.unittest.TestRunner
命名空间: matlab.unittest

创建没有插件的最小测试运行器

说明

示例

runner = matlab.unittest.TestRunner.withNoPlugins 创建一个未安装插件的最小静默测试运行器,并将其作为 matlab.unittest.TestRunner 对象返回。返回的测试运行器是尽可能最简单的运行器,且不会产生文本输出。

当您要完全控制将哪些插件添加到测试运行器时,请使用此方法创建一个测试运行器。

属性

Statictrue

要了解方法的属性,请参阅方法属性

示例

全部展开

通过创建一个最小运行器,然后向运行器添加一个 XMLPlugin 实例,生成 JUnit 样式的测试结果。

在当前文件夹中名为 eyeTest.m 的文件中,创建一个基于函数的测试来测试 eye 函数。

function tests = eyeTest
tests = functiontests(localfunctions);
end

function doubleClassTest(testCase)
actual = eye;
verifyClass(testCase,actual,"double")
end

function singleClassTest(testCase)
actual = eye("single");
verifyClass(testCase,actual,"single")
end

function uint16ClassTest(testCase)
actual = eye("uint16");
verifyClass(testCase,actual,"uint16")
end

function sizeTest(testCase)
expected = [7 13];
actual = eye(expected);
verifySize(testCase,actual,expected)
end

function valueTest(testCase)
actual = eye(42);
verifyEqual(testCase,unique(diag(actual)),1)    % Diagonal values must be 1
verifyEqual(testCase,unique(triu(actual,1)),0)  % Upper triangular values must be 0
verifyEqual(testCase,unique(tril(actual,-1)),0) % Lower triangular values must be 0
end

要运行测试,首先导入此示例中使用的类。

import matlab.unittest.TestRunner
import matlab.unittest.plugins.XMLPlugin

基于 eyeTest.m 中的测试创建一个测试套件。

suite = testsuite("eyeTest.m");

创建一个不含任何插件的测试运行器。以下代码将创建一个不产生任何输出的静默运行器。

runner = matlab.unittest.TestRunner.withNoPlugins;

您现在可以添加任何您选择的插件。创建一个插件,它将 JUnit 样式的 XML 输出写入当前文件夹中的文件 myTestResults.xml。然后,将该插件添加到测试运行器中。

xmlFile = "myTestResults.xml";
p = XMLPlugin.producingJUnitFormat(xmlFile);
addPlugin(runner,p)

运行测试。在此示例中,所有测试都通过。

results = run(runner,suite);

现在,查看生成的工件的内容。

disp(fileread(xmlFile))
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<testsuites>
  <testsuite errors="0" failures="0" name="eyeTest" skipped="0" tests="5" time="0.25082">
    <testcase classname="eyeTest" name="doubleClassTest" time="0.015066"/>
    <testcase classname="eyeTest" name="singleClassTest" time="0.0042728"/>
    <testcase classname="eyeTest" name="uint16ClassTest" time="0.0046594"/>
    <testcase classname="eyeTest" name="sizeTest" time="0.013599"/>
    <testcase classname="eyeTest" name="valueTest" time="0.21322"/>
  </testsuite>
</testsuites>

版本历史记录

在 R2013a 中推出