主要内容

matlab.unittest.plugins.QualifyingPlugin类

包:matlab.unittest.plugins
超类:matlab.unittest.plugins.TestRunnerPlugin

执行系统范围限定的插件的接口

描述

使用合格的插件来产生测试失败,而不是测试内容。插件级别的资格是有用的,因为您可以避免在每个测试中重复相同的资格。您可以决定定期地将系统范围的资格应用到测试套件中,方法是简单地为特定的测试会话添加插件到测试运行器中。

QualifyingPlugin接口使测试运行器插件作者能够实现在测试套件上执行系统范围的资格认证的插件。您可以在这些继承的方法中执行验证、假设、断言和致命断言:

  • setupTestClass

  • teardownTestClass

  • setupTestMethod

  • teardownTestMethod

在这些继承的方法中,只能执行假设、断言和致命断言:

  • setupSharedTestFixture

  • teardownSharedTestFixture

方法

assertUsing 断言该值满足给定的约束
assumeUsing 假设该值满足给定的约束条件
fatalAssertUsing 断言该值满足给定的约束条件
verifyUsing 验证该值满足给定的约束

继承的方法

createSharedTestFixture 扩展共享测试fixture实例的创建
createTestClassInstance 扩展类级别的创建TestCase实例
createTestMethodInstance 扩展方法级的创建TestCase实例
reportFinalizedResult 允许报告最终确定的测试结果
reportFinalizedSuite 最后确定的扩展报告TestSuite数组
runSession 扩展测试会话的运行
小牛 单轴延长运转测试元素
runTestClass 扩展运行测试元素来自相同的类或函数
runTestMethod 扩展单一测试方法的运行
runTestSuite 扩展运行TestSuite数组
setupSharedTestFixture 扩展共享测试夹具的设置
setupTestClass 扩展测试类的设置
setupTestMethod 扩展设置测试方法
teardownSharedTestFixture 延长拆卸共用测试夹具
teardownTestClass 扩展分解测试类
teardownTestMethod 延伸拆卸试验方法

复制语义

句柄。要了解句柄类如何影响复制操作,请参见复制对象

例子

全部折叠

创建一个插件,以确保测试文件离开MATLAB®路径不变。如果测试文件运行后的路径与启动路径不一致,则测试失败。

创建一个类,VerifyNoPathChangePlugin,继承自matlab.unittest.plugins.QualifyingPlugin类。

classdefVerifyNoPathChangePlugin < matlab.unittest.plugins.QualifyingPlugin属性(访问=私人)OriginalPath结束方法(访问=保护)函数setupTestClass(插件,pluginData)插件。OriginalPath =路径;setupTestClass@matlab.unittest.plugins.QualifyingPlugin(插件,pluginData);结束函数teardownTestClass(插件,pluginData)导入matlab.unittest.constraints.IsEqualTo;teardownTestClass@matlab.unittest.plugins.QualifyingPlugin(插件,pluginData);plugin.verifyUsing (pluginData.QualificationContext...路径,IsEqualTo (plugin.OriginalPath),...sprintf ('%s已修改路径。'pluginData.Name));结束结束结束

创建以下测试类。测试会修改路径,但不会恢复原始路径。

classdefLeavesModifiedPath < matlab.unittest.TestCase方法(测试)函数test1(~)目录(pwd);结束结束结束

对于本例,在命令提示符下,从路径中删除当前的工作文件夹。

rmpath (pwd)

创建一个测试套件,将插件添加到测试运行程序中,并运行该套件。测试失败,因为测试后的路径与起始路径不一致。

套件= matlab.unittest.TestSuite.fromClass (? LeavesModifiedPath);跑步者= matlab.unittest.TestRunner.withTextOutput;runner.addPlugin (VerifyNoPathChangePlugin);runner.run(套);
LeavesModifiedPath运行。================================================================================ 验证失败而设立或拆除LeavesModifiedPath。因此,所有LeavesModifiedPath测试都失败。---------------- 测试诊断 : ---------------- LeavesModifiedPath修改路径。--------------------- 框架的诊断 : --------------------- IsEqualTo失败了。——> StringComparator失败了。——>字符数组不相等。C: Program Files\MATLAB\R2015b\toolbox\ MATLAB\...期望字符:C:\Program Files\MATLAB\R2015b\toolbox\matlab\...------------------ 堆栈信息 : ------------------ 在C: \ \ VerifyNoPathChangePlugin工作。在14米(VerifyNoPathChangePlugin.teardownTestClass)  ================================================================================ 完成LeavesModifiedPath  __________ 失败失败总结:名字不完整的原因(s ) ======================================================================= LeavesModifiedPath / test1 X验证失败。
介绍了R2015b