我如何分配测试诊断单元测试框架提供的一个变量的命令窗口吗

9的观点(30天)
当运行方式测试与单元测试框架定义的测试诊断在命令窗口中显示:= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =验证失败mbd_ZaehlerUnitTest / testTestCase01 (UeberlaufAbfangen =, InternerDatentyp = uint8 Abtastzeit = T_SAMP ModelCoverage = No)。
- - - - - - - - - - - - - - - - -
测试诊断:
- - - - - - - - - - - - - - - - -
xxx
- - - - - - - - - - - - - - - - - - - - - - - -
框架诊断:
- - - - - - - - - - - - - - - - - - - - - - - -
verifyEqual失败了。
为了创建一个整体的测试报告我需要分配这个诊断文本字符串变量。我怎么能这样做呢?

接受的答案

安迪•坎贝尔
安迪•坎贝尔 2015年1月6日
编辑:安迪•坎贝尔 2015年1月13日
你好,
你可以编程访问这些信息通过创建和安装 TestRunnerPlugin 测试运行。这个插件可以听资格失败事件(如验证失败,断言失败,等等),这是包含在诊断信息 TestDiagnosticResult 财产的事件数据单元阵列的字符串。
这是一个简单的例子,保存所有的测试诊断测试方法的验证失败。注意这可能扩展到覆盖等情况下断言,假设,等和其他像TestClassSetup范围,但这可能会帮助你开始。
classdefTestDiagnosticSaverPlugin < matlab.unittest.plugins.TestRunnerPlugin
属性
TestDiagnosticData
结束
方法(访问=保护)
函数pluginData runTestSuite(插件)
插件。测试DiagnosticData = [];为每个测试运行%重新启动
runTestSuite@
matlab.unittest.plugins。TestRunnerPlugin(plugin, pluginData);
结束
函数pluginData testCase = createTestMethodInstance(插件)
testCase = createTestMethodInstance@
matlab.unittest.plugins。TestRunnerPlugin(plugin, pluginData);
testName = pluginData.Name;
testCase.addlistener (“VerificationFailed”,
@(~、事件)plugin.storeTestDiagnosticsData(事件,pluginData.Name));
结束
结束
方法(访问=私人)
函数storeTestDiagnosticsData(插件,eventData、名称、failureType)
年代。Name ={名称};
年代。TestDiagnostics = eventData.TestDiagnosticResult;
插件。测试DiagnosticData = [plugin.TestDiagnosticData; struct2table(s)];
结束
结束
结束
使用上面的插件,你可以将它安装在一个跑步者:
> >进口matlab.unittest.TestRunner;
> >进口matlab.unittest.TestSuite;
> >套件= TestSuite.fromFile (“mbd_ZaehlerUnitTest.m”)
> >跑= TestRunner.withTextOutput;
> >插件= TestDiagnosticSaverPlugin;
> > runner.addPlugin(插件);
> > runner.run(套房)
> > plugin.TestDiagnosticData
希望会有帮助!这里有一些链接你会发现有趣的来帮助你这样做:

更多的答案(0)

类别

找到更多的在扩展单元测试框架帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!