matlab.unittest.plugins. Класс XMLPlugin

Пакет: matlab.unittest.plugins

Плагин, который написал результаты испытаний в формате XML

Описание

Класс XMLPlugin создает плагин, который пишет результаты испытаний в файл в формате XML.

Конструкция

Инстанцируйте XMLPlugin с помощью метода matlab.unittest.plugins.XMLPlugin.producingJUnitFormat.

Примеры

свернуть все

Создайте ExampleTest.m , содержащий следующий тестовый класс.

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)  % Test fails
            testCase.verifyEqual(5,4,'Testing 5==4')
        end
        function testTwo(testCase)  % Test passes
            testCase.verifyEqual(5,5,'Testing 5==5')
        end
        function testThree(testCase) % Test fails
            testCase.assumeTrue(false)
        end
    end
end

Создайте тестовый набор из  класса ExampleTest. Создайте тихого исполнителя тестов.

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite
import matlab.unittest.plugins.XMLPlugin

suite = TestSuite.fromClass(?ExampleTest);
runner = TestRunner.withNoPlugins;

Создайте XMLPlugin , который пишет результаты испытаний в файл myTestResults.xml.

xmlFile = 'myTestResults.xml';
p = XMLPlugin.producingJUnitFormat(xmlFile);

Добавьте плагин в исполнителя тестов и запустите комплект.

runner.addPlugin(p)
results = runner.run(suite);
table(results)
ans = 

             Name              Passed    Failed    Incomplete    Duration       Details   
    _______________________    ______    ______    __________    _________    ____________

    'ExampleTest/testOne'      false     true      false          0.078297    [1x1 struct]
    'ExampleTest/testTwo'      true      false     false         0.0038761    [1x1 struct]
    'ExampleTest/testThree'    false     false     true           0.049763    [1x1 struct]

Просмотрите содержимое в файле, созданном плагином.

disp(fileread(xmlFile))
<?xml version="1.0" encoding="utf-8"?>
<testsuites>
   <testsuite errors="0" failures="1" name="" skipped="1" tests="3" time="0.0493">
      <testcase classname="ExampleTest" name="testOne" time="0.030643">
         <failure type="VerificationFailure">================================================================================
Verification failed in ExampleTest/testOne.

    ----------------
    Test Diagnostic:
    ----------------
    Testing 5==4

    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyEqual failed.
    --&gt; The values are not equal using "isequaln".
    --&gt; Failure table:
                Actual    Expected    Error    RelativeError
                ______    ________    _____    _____________
            
                5         4           1        0.25         
    
    Actual double:
             5
    Expected double:
             4

    ------------------
    Stack Information:
    ------------------
    In C:\work\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
</failure>
      </testcase>
      <testcase classname="ExampleTest" name="testTwo" time="0.004332"/>
      <testcase classname="ExampleTest" name="testThree" time="0.014325">
         <skipped>================================================================================
ExampleTest/testThree was filtered.
================================================================================
</skipped>
      </testcase>
   </testsuite>
</testsuites>

Советы

  • Если ваш тестовый файл является или функциональным тестом на основе скриптов, значение атрибута classname элемента <testcase> является именем тестового файла.

Смотрите также

Внешние веб-сайты

Введенный в R2015b

Для просмотра документации необходимо авторизоваться на сайте