Main Content

verifyGreaterThan

类: matlab.unittest.qualifications.Verifiable
命名空间: matlab.unittest.qualifications

确认值大于指定值

说明

示例

verifyGreaterThan(testCase,actual,floor) 验证 actual 的所有元素都大于 floor 的所有元素。

示例

verifyGreaterThan(testCase,actual,floor,diagnostic) 还将 diagnostic 中的诊断信息与验证相关联。

输入参数

全部展开

测试用例,指定为 matlab.unittest.qualifications.Verifiable 对象。由于 matlab.unittest.TestCase 类会子类化 matlab.unittest.qualifications.Verifiable 并继承其方法,因此 testCase 通常是 matlab.unittest.TestCase 对象。

要测试的值,指定为数值数组。actualfloor 的大小必须相同或兼容。有关兼容数组的详细信息,请参阅基本运算的兼容数组大小

最小值,指定为数值数组。actualfloor 的大小必须相同或兼容。有关兼容数组的详细信息,请参阅基本运算的兼容数组大小

当验证通过或失败时显示的诊断信息,指定为字符串数组、字符数组、函数句柄或 matlab.automation.diagnostics.Diagnostic 对象数组。

根据测试运行器的配置,测试框架可能会在验证通过或失败时显示诊断信息。默认情况下,框架仅在鉴定失败时显示诊断信息。您可以通过自定义测试运行器来覆盖默认行为。例如,使用 DiagnosticsOutputPlugin 实例来显示失败和通过事件诊断信息。

示例: "My Custom Diagnostic"

示例: @dir

属性

Sealedtrue

要了解方法的属性,请参阅方法属性

示例

全部展开

创建一个供交互测试的测试用例。

testCase = matlab.unittest.TestCase.forInteractiveUse;

验证 3 是否大于 2

verifyGreaterThan(testCase,3,2)
Verification passed.

测试 5 是否大于 9。测试失败。

verifyGreaterThan(testCase,5,9)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyGreaterThan failed.
    --> The value must be greater than the minimum value.
    
    Actual Value:
         5
    Minimum Value (Exclusive):
         9
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareTwoNumbersExample.m (CompareTwoNumbersExample) at 16

创建一个供交互测试的测试用例。

testCase = matlab.unittest.TestCase.forInteractiveUse;

测试向量 [5 6 7] 的每个元素是否大于下限值 2

verifyGreaterThan(testCase,[5 6 7],2)
Verification passed.

测试 5 是否大于下限值向量 [1 2 3] 的每个元素。

verifyGreaterThan(testCase,5,[1 2 3])
Verification passed.

测试矩阵 [1 2 3; 4 5 6] 的每个元素是否大于下限值 4。测试失败。

verifyGreaterThan(testCase,[1 2 3; 4 5 6],4, ...
    "All elements must be greater than the floor value.")
Verification failed.
    ----------------
    Test Diagnostic:
    ----------------
    All elements must be greater than the floor value.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyGreaterThan failed.
    --> Each element must be greater than the minimum value.
        
        Failing Indices:
             1     2     3     5
    
    Actual Value:
         1     2     3
         4     5     6
    Minimum Value (Exclusive):
         4
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareArrayToScalarExample.m (CompareArrayToScalarExample) at 22

创建一个供交互测试的测试用例。

testCase = matlab.unittest.TestCase.forInteractiveUse;

测试数组 [5 -3 2] 的每个元素是否大于下限数组 [4 -9 0] 的每个对应元素。

verifyGreaterThan(testCase,[5 -3 2],[4 -9 0])
Verification passed.

将数组与其自身进行比较。测试失败。

verifyGreaterThan(testCase,eye(2),eye(2))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyGreaterThan failed.
    --> Each element must be greater than each corresponding element of the minimum value array.
        
        Failing Indices:
             1     2     3     4
    
    Actual Value:
         1     0
         0     1
    Minimum Value (Exclusive):
         1     0
         0     1
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareArraysExample.m (CompareArraysExample) at 17

提示

  • verifyGreaterThan 方法非常方便。例如,verifyGreaterThan(testCase,actual,floor) 在功能上等效于以下代码。

    import matlab.unittest.constraints.IsGreaterThan
    testCase.verifyThat(actual,IsGreaterThan(floor))
  • 使用此确认在不引发异常的条件下生成和记录失败。由于确认不会引发异常,因此即使出现确认失败的情形,依然会完成所有的测试内容。通常,确认指的是对单元测试的主要验证,因为这些确认一般不要求提前从测试中退出。使用其他验证类型来测试是否违反先决条件或测试安装是否正确:

    • 使用断言验证确保测试环境满足无论如何都不会导致测试失败的先决条件。假设失败会生成已过滤的测试,且测试框架会将测试设为 Incomplete。有关详细信息,请参阅 matlab.unittest.qualifications.Assumable

    • 当失败条件导致当前测试内容的剩余部分都失效,但不会阻止后续测试正确执行时,使用断言验证。断言点处的失败会将当前测试展现为 FailedIncomplete。有关详细信息,请参阅 matlab.unittest.qualifications.Assertable

    • 使用致命断言验证在失败时中止测试会话。当失败涉及根本以致继续测试已经没有意义时,这些验证非常有用。当脚手架拆解不能正确还原环境状态,适合中止测试并启动一个新会话时,致命断言也很有用。有关详细信息,请参阅 matlab.unittest.qualifications.FatalAssertable

版本历史记录

在 R2013a 中推出