主要内容

matlab.unittest.qualifications.Assumable类

包:matlab.unittest.qualifications

有资格过滤测试内容

描述

可假定的类提供筛选测试内容的资格。除了在失败的情况下执行的行动可假定的Class的工作原理与other相同matlab.unittest资格。

假设失败了可假定的类通过抛出一个AssumptionFailedException.然后测试框架将测试内容标记为已过滤并继续测试。通常,假设用于确保只在满足某些先决条件时才运行测试。然而,在不满足先决条件的情况下运行测试不会产生测试失败。确保测试内容是异常安全的.如果失败条件意味着产生测试失败,那么使用断言或验证而不是假设。

属性中指定的属性TestCase方法定义确定要筛选哪些测试。当测试框架遇到一个假设失败时,会发生以下行为TestCase方法:

  • 如果你定义TestCase方法使用测试属性时,框架将整个方法标记为已过滤并运行后续的测试方法。

  • 如果你定义TestCase方法使用TestMethodSetupTestMethodTeardown属性时,测试框架将为该实例运行的方法标记为已过滤的。

  • 如果你定义TestCase方法使用TestClassSetupTestClassTeardown属性,测试框架过滤整个TestCase类。

使用假设过滤测试内容不会产生测试失败。因此,可能会导致无效的测试代码。通过监视过滤的测试来避免这种情况。

方法

assumeClass 假设指定值的精确类
assumeEmpty 假设值为空
assumeEqual 假设值等于指定值
assumeError 假设函数抛出指定的异常
assumeFail 产生无条件假设失效
assumeFalse 假设值为假
assumeGreaterThan 假设值大于指定值
assumeGreaterThanOrEqual 假设值大于或等于指定值
assumeInstanceOf 假设value是指定类型的对象
assumeLength 假设值具有指定的长度
assumeLessThan 假设value小于指定值
assumeLessThanOrEqual 假设value小于或等于指定的值
assumeMatches 假设字符串匹配指定的正则表达式
assumeNotEmpty 假设值不是空的
assumeNotEqual 假设值不等于指定值
assumeNotSameHandle 假设value不是指定实例的句柄
assumeNumElements 假设value具有指定的元素计数
assumeReturnsTrue 假设函数在求值时返回true
assumeSameHandle 假设两个值是同一个实例的句柄
assumeSize 假设值具有指定的大小
assumeSubstring 假设字符串包含指定的字符串
assumeThat 假设值满足指定的约束条件
assumeTrue 假设值为真
assumeWarning 假设函数发出指定的警告
assumeWarningFree 假设函数不发出警告

事件

AssumptionFailed

假设失败时触发。一个QualificationEventData对象传递给侦听器回调函数。

AssumptionPassed

通过假设触发。一个QualificationEventData对象传递给侦听器回调函数。

复制语义

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

例子

全部折叠

假设确保测试只在满足某些先决条件,且此类事件不应产生测试失败时运行。当假设失败发生时,测试被标记为已过滤。

创建Is金宝appSupportedTest测试用例。参考以下内容Is金宝appSupportedTest在本例的后续步骤中测试用例,它突出显示文件中的特定功能。

Is金宝appSupportedTest类定义文件

执行MATLAB®命令,添加Is金宝appSupportedTest.m文件到MATLAB路径上的一个文件夹。

编写测试来验证平台。此测试用例中的所有测试必须在UNIX上运行®平台。的TestPlatform函数使用assumeFalse方法来测试MATLAB是否在Windows上运行®平台。如果是,则测试失败。

函数TestPlatform (testcase) testcase.assumeFalse (ispc,...“不要在Windows上运行这些测试。”结束

使TestPlatform一个TestClassSetup测试。为了使TestPlatform测试一个先决条件,将它添加到方法(TestClassSetup)块。

运行测试用例。创建测试用例对象并在Windows平台上运行测试。

tc = Is金宝appSupportedTest;res = tc.run;
运行IsSuppor金宝apptedTest  ================================================================================ 所有测试在IsSupportedTest被过滤。测试诊断:不要在Windows上运行任何这些测试。细节  ================================================================================ 完成IsSupport金宝appedTest  __________ 失败失败总结:名字不完整的原因(s ) ==================================================================== IsSupportedTest / test1 X过滤的假设。

测试被过滤,并且没有运行(标记)不完整的).

有关更多信息,请单击“详细信息”链接。

================================================================================ 一个假设没有设置或拆除IsSupportedTest时认识的。金宝app因此,过滤了所有IsSupported金宝appTest测试。---------------- 测试诊断 : ---------------- 不要在Windows上运行这些测试。--------------------- 框架的诊断 : --------------------- assumeFalse失败了。——>该值必须为“false”。实际值:1  ------------------ 堆栈信息 : ------------------ 在C: \ \ IsSupportedTest工作。金宝app在4米(I金宝appsSupportedTest.TestPlatform)  ================================================================================

的链接Is金宝appSupportedTest。TestPlatform堆栈信息把你带到失败的地方assumeFalse方法。

更多关于

全部展开

介绍了R2013a