exponenta event banner

assertSuccess

Класс: matlab.unittest.StartResult
Пакет: matlab.unittest

Утверждение тестового сеанса, запущенного без сбоев

Описание

пример

r = assertSuccess(results) утверждает, что ни один из тестов, соответствующих results не удалось выполнить массив. Если утверждение проходит, метод возвращает results в r. Если утверждение завершается неуспешно, 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