matlab.unittest.plugins.TAPPlugin.producingOriginalFormat
类: matlab.unittest.plugins.TAPPlugin
命名空间: matlab.unittest.plugins
为原始 TAP 格式构造 TAPPlugin
语法
说明
matlab.unittest.plugins.TAPPlugin.producingOriginalFormat
创建一个可按原始 Test Anything Protocol (TAP) 格式(版本 12)生成输出的插件。默认情况下,该插件使用 ToStandardOutput
流,并且输出会显示在屏幕上。在本例中,发送到屏幕的其他输出可使 TAP 流失效。
matlab.unittest.plugins.TAPPlugin.producingOriginalFormat(
将所有文本输出重定向到指定的输出流。例如,您可以将输出重定向到 stream
)ToFile
流。
matlab.unittest.plugins.TAPPlugin.producingOriginalFormat(___,
创建一个插件,并通过一个或多个 Name,Value
)Name,Value
对组参量指定其他选项。
输入参数
stream
— 插件要将文本输出定向到的位置
matlab.automation.streams.ToStandardOutput
(默认) | matlab.automation.streams.OutputStream
类的实例
插件要将文本输出定向到的位置,指定为 OutputStream
类的实例。默认情况下,插件使用 ToStandardOutput
流。
示例: stream = matlab.automation.streams.ToStandardOutput
示例: stream = matlab.automation.streams.ToFile('myFile.tap')
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: TAPPlugin.producingOriginalFormat('LoggingLevel', Verbosity.Detailed)
创建一个插件,它包含在 Detailed
级别及更低级别记录的诊断信息。
IncludingPassingDiagnostics
— 包含通过事件诊断信息
false
(默认) | true
是否包含通过事件的诊断信息,指定为 false
或 true
。默认情况下,该插件不包含来自通过事件的诊断信息。
数据类型: logical
LoggingLevel
— 记录的诊断的最大详细级别
1
(默认) | 0
| 2
| 3
| 4
| matlab.automation.Verbosity
枚举对象 | 枚举的文本表示
要在测试报告中包含的已记录诊断的最大详细级别,指定为从 0
到 4
的整数标量、matlab.automation.Verbosity
枚举对象或枚举的文本表示。插件包括在指定级别及更低级别记录的诊断。
数值表示 | 枚举成员名称 | 详细程度描述 |
---|---|---|
0 | None | 无信息 |
1 | Terse | 最少的信息 |
2 | Concise | 适中信息量 |
3 | Detailed | 部分补充信息 |
4 | Verbose | 大量补充信息 |
默认情况下,插件包含在 matlab.automation.Verbosity.Terse
级别(级别 1)记录的诊断信息。要排除所记录的诊断信息,请将 LoggingLevel
指定为 matlab.automation.Verbosity.None
(级别 0)。
记录的诊断是您使用 log (TestCase)
和 log (Fixture)
方法为测试框架提供的诊断。
示例: "LoggingLevel","detailed"
OutputDetail
— 报告事件的详细信息级别
3 (默认) | 0 | 1 | 2 | 4 | matlab.automation.Verbosity
枚举 | 枚举名称作为字符串或字符向量
报告事件的详细信息级别,指定为介于 0 和 4 之间的整数值、matlab.automation.Verbosity
枚举对象,或对应于预定义枚举成员名称之一的字符串标量或字符向量。整数值对应于 matlab.automation.Verbosity
枚举的成员。
该插件使用 OutputDetail
指定的信息量来报告通过事件、失败事件和日志记录事件。默认情况下,该插件在 matlab.automation.Verbosity.Detailed
级别(级别 3)记录事件。
数值表示 | 枚举成员名称 | 详细程度描述 |
---|---|---|
0 | None | 无信息 |
1 | Terse | 最少的信息 |
2 | Concise | 适中信息量 |
3 | Detailed | 部分补充信息 |
4 | Verbose | 大量补充信息 |
示例
创建 TAP 插件
在您的工作文件夹的新文件中,创建一个包含以下测试类的 ExampleTest.m
。
classdef ExampleTest < matlab.unittest.TestCase methods(Test) function testOne(testCase) % Test fails testCase.verifyEqual(5,4,'Testing 5==4') end function testTwo(testCase) % Test passes testCase.verifyEqual(5,5,'Testing 5==5') end function testThree(testCase) % test code end end end
在命令提示符下,基于 ExampleTest
类创建测试套件。
import matlab.unittest.TestRunner import matlab.unittest.TestSuite import matlab.unittest.plugins.TAPPlugin import matlab.automation.streams.ToFile suite = TestSuite.fromClass(?ExampleTest);
使用默认插件创建一个将输出显示到命令行窗口中的测试运行器。
runner = TestRunner.withTextOutput;
创建一个将输出发送到文件 MyTapOutput.tap
的 TAPPlugin
。
tapFile = 'MyTAPOutput.tap';
plugin = TAPPlugin.producingOriginalFormat(ToFile(tapFile));
将该插接添加到 TestRunner
并运行套件。
runner.addPlugin(plugin) result = runner.run(suite);
Running ExampleTest ================================================================================ Verification failed in ExampleTest/testOne. ---------------- Test Diagnostic: ---------------- Testing 5==4 --------------------- Framework Diagnostic: --------------------- verifyEqual failed. --> The numeric values are not equal using "isequaln". --> Failure table: Actual Expected Error RelativeError ______ ________ _____ _____________ 5 4 1 0.25 Actual Value: 5 Expected Value: 4 ------------------ Stack Information: ------------------ In C:\work\ExampleTest.m (ExampleTest.testOne) at 4 ================================================================================ ... Done ExampleTest __________ Failure Summary: Name Failed Incomplete Reason(s) ================================================================== ExampleTest/testOne X Failed by verification.
显示该插件创建的文件。
disp(fileread(tapFile))
1..3 not ok 1 - ExampleTest/testOne # ================================================================================ # Verification failed in ExampleTest/testOne. # ---------------- # Test Diagnostic: # ---------------- # Testing 5==4 # --------------------- # Framework Diagnostic: # --------------------- # verifyEqual failed. # --> The numeric values are not equal using "isequaln". # --> Failure table: # Actual Expected Error RelativeError # ______ ________ _____ _____________ # # 5 4 1 0.25 # # Actual Value: # 5 # Expected Value: # 4 # ------------------ # Stack Information: # ------------------ # In C:\work\ExampleTest.m (ExampleTest.testOne) at 4 # ================================================================================ ok 2 - ExampleTest/testTwo ok 3 - ExampleTest/testThree
可使用定向到标准输出的 TAPPlugin
。不过,显示在标准输出中的任何其他文本(例如失败的测试信息)都会中断流,并可能使其失效。
版本历史记录
在 R2014a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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)