文档

matlab.unittest.plugins.QualifyingPlugin类

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

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

描述

除了测试内容之外,使用合格的插件来产生测试失败。插件级别的限定是有用的,因为您可以避免在每个测试中重复相同的限定。通过将插件添加到特定测试会话的测试运行器中,您可以决定定期地将系统范围的资格证书应用到测试套件中。

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

  • setupTestClass

  • teardownTestClass

  • setupTestMethod

  • teardownTestMethod

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

  • setupSharedTestFixture

  • teardownSharedTestFixture

方法

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

继承的方法

createSharedTestFixture 扩展共享测试夹具实例的创建
createTestClassInstance 扩展类级TestCase实例的创建
createTestMethodInstance 扩展方法级TestCase实例的创建
reportFinalizedResult 启用最终测试结果的报告
小牛 扩展单个TestSuite元素的运行
runTestClass 从相同的类或函数扩展TestSuite数组的运行
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 ('% 1 ! '修改了路径。'pluginData.Name));结束结束结束

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

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

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

rmpath (pwd)

创建一个测试套件,将插件添加到测试运行器,并运行该套件。测试结束后的路径与开始路径不一致,导致测试失败。

suite = matlab.unittest.TestSuite.fromClass(?LeavesModifiedPath)runner = matlab.unittest.TestRunner.withTextOutput;runner.addPlugin (VerifyNoPathChangePlugin);runner.run(套);
Running 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中引入

这个话题有用吗?