为什么我不能在MATLAB中使用assertTrue?

时间:2016-03-10 18:26:23

标签: matlab unit-testing

我正在尝试在R2016a中运行以下代码

import matlab.unittest.qualifications.Assertable;
assertTrue(true, 'wrong');

但是我收到了这个错误。

  

未定义的函数或变量' assertTrue'。

我没有注意到Matlab 2016a assertTrue的任何变化。 我也尝试导入matlab.unittest.qualifications.*失败了。 我也试过testcase.assertTrue(true, 'wrong');失败了。

我如何在Matlab中使用assertTrue?

1 个答案:

答案 0 :(得分:4)

assertTrue不是一个普通的MATLAB函数,它是matlab.unittest.TestCase方法

Notice in the documentation,第一个输入(assertable)是matlab.unittest.TestCase个实例。

class-based unit test

中使用它
classdef test < matlab.unittest.TestCase

    methods (Test)
        function doTest(testCase)
            testCase.assertTrue(true);

            % or
            assertTrue(testCase, true);
        end
    end
end

这是function-based unit test

function testFunctionOne(testCase)
    testCase.assertTrue(true)
    assertTrue(testCase, true)
end

如果您不想进行单元测试但只是想断言某些事情是真的,那么请使用assert

value = false;
assert(value, 'These aren''t the droids you''re looking for.')