Main Content

assertSuccess

类: matlab.unittest.TestResult
包: matlab.unittest

断言测试会话的运行未失败

说明

示例

r = assertSuccess(results) 断言与 results 数组对应的测试都没有失败。如果断言通过,该方法以 r 形式返回 results。如果断言失败,MATLAB® 将抛出异常。

输入参数

全部展开

运行与测试会话对应的测试套件的结果,指定为 matlab.unittest.TestResult 数组。

示例

全部展开

运行一个测试套件,如果任一测试失败,则引发异常。

在当前文件夹中,创建一个包含 ExampleTest 类的文件。verifySize 验证导致测试失败。

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)      % Test fails
            testCase.verifySize([1 2 3; 4 5 6],[2 4])
        end
        function testTwo(testCase)      % Test passes
            testCase.verifyClass(@sin,?function_handle)
        end
        function testThree(testCase)    % Test passes
            testCase.assertEqual(7*2,14)
        end
    end
end

在命令提示符下,运行 ExampleTest 中的测试,并断言没有遇到失败条件。MATLAB 由于其中一个测试失败而抛出错误。

results = assertSuccess(runtests('ExampleTest'));
Running ExampleTest

================================================================================
Verification failed in ExampleTest/testOne.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifySize failed.
    --> The value had an incorrect size.
        
        Actual Size:
             2     3
        Expected Size:
             2     4
    
    Actual Value:
         1     2     3
         4     5     6
    ------------------
    Stack Information:
    ------------------
    In C:\Users\username\Desktop\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
...
Done ExampleTest
__________

Failure Summary:

     Name                 Failed  Incomplete  Reason(s)
    ==================================================================
     ExampleTest/testOne    X                       Failed by verification.
    
Error using matlab.unittest.internal.BaseTestResult/assertSuccess (line 125)
At least one test failed in the test session.

提示

  • 使用 assertSuccess 作为验证步骤,以确保您的测试不会产生任何失败。例如,当您在持续集成平台(如 Jenkins®)上执行自动编译时,如果 assertSuccess 生成错误,您可以指示编译失败。

版本历史记录

在 R2020a 中推出