Main Content

table

Class: matlab.unittest.TestResult
Package: matlab.unittest

Convert TimeResult array to table

Description

example

rt = table(results) creates a table rt from the results array. Use this method to access table functionality, such as sorting rows, displaying a summary, and writing the table to a file.

Input Arguments

expand all

Results of running a test suite, specified as a matlab.unittest.TestResult array.

Examples

expand all

Create a table from a set of test results, and use the table to sort the results and export them to a CSV file.

In your current folder, create a file containing the ExampleTest class.

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

At the command prompt, create a test suite from the ExampleTest class and run the tests.

results = run(testsuite('ExampleTest'));
Running ExampleTest
...
Done ExampleTest
__________

Create a table from the results array.

rt = table(results)
rt =

  3×6 table

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

    {'ExampleTest/testOne'  }    true      false       false       0.0063632    {1×1 struct}
    {'ExampleTest/testTwo'  }    true      false       false       0.0073147    {1×1 struct}
    {'ExampleTest/testThree'}    true      false       false       0.0027218    {1×1 struct}

Use the table to display a summary of the test results.

summary(rt)
Variables:

    Name: 3×1 cell array of character vectors

    Passed: 3×1 logical

        Values:

            True        3    
            False       0    

    Failed: 3×1 logical

        Values:

            True        0    
            False       3    

    Incomplete: 3×1 logical

        Values:

            True        0    
            False       3    

    Duration: 3×1 double

        Values:

            Min       0.0027218
            Median    0.0063632
            Max       0.0073147

    Details: 3×1 cell

Find the longest test duration by sorting the table rows in descending order.

sorted = sortrows(rt,'Duration','descend')
sorted =

  3×6 table

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

    {'ExampleTest/testTwo'  }    true      false       false       0.0073147    {1×1 struct}
    {'ExampleTest/testOne'  }    true      false       false       0.0063632    {1×1 struct}
    {'ExampleTest/testThree'}    true      false       false       0.0027218    {1×1 struct}

Export the sorted results to a CSV file and view the file contents.

writetable(sorted,'myTestResults.csv')
type 'myTestResults.csv'
Name,Passed,Failed,Incomplete,Duration,Details
ExampleTest/testTwo,1,0,0,0.0073147,
ExampleTest/testOne,1,0,0,0.0063632,
ExampleTest/testThree,1,0,0,0.0027218,
Introduced in R2014b