主要内容

matlab.unittest.qualifications.FatalAssertable类

包:matlab.unittest.qualifications

中止测试执行的资格

描述

FatalAssertable类提供中止测试执行的限定。除了为失败而执行的操作外FatalAssertable类中的其他资格类的工作方式相同matlab.unittest.qualifications包中。

在致命的断言失败时,FatalAssertable类将失败通知测试框架FatalAssertionFailedException对象。然后,框架显示失败的诊断信息并中止测试会话。当故障非常严重,以至于继续测试没有意义时,这种行为是有用的。此外,您可以在fixture拆卸中使用致命断言,以确保正确地恢复环境状态。如果你能把灯具拆下来异常安全的如果要在失败后恢复状态,请改用断言。

致命断言可以防止由于基本测试失败而导致的错误测试失败。当先前的测试无法恢复状态时,它们还可以防止错误的测试失败。如果框架不能正确地拆除fixture,则必须手动重置状态。例如,您可能需要重新启动MATLAB®

matlab.unittest.qualifications.FatalAssertable类是一个处理类。

方法

全部展开

事件

事件名称 触发 事件数据 事件属性
FatalAssertionFailed 致命断言失败时触发。一个QualificationEventData对象传递给侦听器回调函数。 matlab.unittest.qualifications.QualificationEventData

NotifyAccess:私人

ListenAccess:公共

FatalAssertionPassed 在传递致命断言时触发。一个QualificationEventData对象传递给侦听器回调函数。 matlab.unittest.qualifications.QualificationEventData

NotifyAccess:私人

ListenAccess:公共

例子

全部折叠

测试设置操作系统环境变量值的函数。如果在测试之后不能将环境变量重置为其原始值,则使用致命的断言失败终止测试会话。

在当前文件夹中的某个文件中,创建setUserName函数。函数调用setenv设置“用户名”环境变量。

函数setUserName(名字)setenv (“用户名”、名称)结束

为了测试setUserName函数,创建一个名为SetUserNameTest在当前文件夹中。定义测试所需的类成员:

  • OriginalUserNameproperty—在测试结束后使用此属性重置环境变量。

  • testUpdate测试method -存储环境变量的原始值,调用被测函数,验证函数是否将环境变量设置为期望值。因为在测试期间状态会发生变化,所以包含对的调用addTeardown以在测试运行完成后恢复状态。

  • resetUserNamehelper方法-调用setUserName函数重置环境变量。如果操作不成功,则使用致命断言失败中止测试会话。

classdefSetUserNameTest < matlab.unittest.TestCase属性(SetAccess = private)原始用户名结束方法(测试)函数testUpdate testCase (testCase)。OriginalUserName = getenv(“用户名”);setUserName (“大卫”testCase.addTeardown(@() testCase.resetUserName) testCase.verifyEqual(“用户名”),“大卫”结束结束方法(Access = private)函数resetUserName(testCase . originalusername)“用户名”), testCase.OriginalUserName)结束结束结束

运行SetUserNameTest类。测试通过了。

runtests (“SetUserNameTest”
运行SetUserNameTest。Done SetUserNameTest __________
ans = TestResult with properties: Name: 'SetUserNameTest/testUpdate' Passed: 1 Failed: 0 Incomplete: 0 Duration: 0.0226详细信息:[1×1 struct]总计:1 Passed, 0 Failed, 0 Incomplete. 0.022649秒测试时间。

更多关于

全部展开

在R2013a中引入