作者基于类的单元测试MATLAB
测试一个MATLAB®程序,编写一个单元测试使用方法的资格测试值和响应失败。
测试类的定义
一个测试类必须继承matlab.unittest.TestCase
并包含一个方法
块的测试
属性。的方法
块包含函数,每一个都是一个单元测试。一般,基本的类定义。
% %测试类的定义classdefMyComponentTest < matlab.unittest.TestCase% %测试方法方法(测试)%包括单元测试功能结束结束
单元测试
单元测试是一个方法,决定了一个软件单元的正确性。每个单元测试包含在一个块的方法。函数必须接受TestCase
实例作为输入。
% %测试类的定义classdefMyComponentTest < matlab.unittest.TestCase% %测试方法方法(测试)% %测试函数函数testASolution (testCase)% %运动功能测试% =行动的价值函数测试下% %验证使用测试资格% exp =你的期望值% testCase。<资格法>(行动,经验);结束结束结束
资格的方法测试值和响应失败。此表列出了类型的资格。
验证 | 使用这个资格生产和记录失败没有抛出异常。剩下的测试运行完成。 |
matlab.unittest.qualifications.Verifiable |
假设 | 使用这个资格来确保测试运行只有当某些先决条件得到满足。然而,运行测试不满足前提条件不会产生一个测试失败。当一个假设故障,测试框架标志着测试过滤。 |
matlab.unittest.qualifications.Assumable |
断言 | 使用这个资格,以确保当前测试的先决条件。 |
matlab.unittest.qualifications.Assertable |
致命的断言 | 使用这个资格断言失败时点呈现当前测试方法的其余部分无效或国家是不可恢复的。 |
matlab.unittest.qualifications.FatalAssertable |
MATLAB单元测试框架提供了大约25资格方法为每个类型的资格。例如,使用verifyClass
或assertClass
测试的值是一个预期的类,和使用assumeTrue
或fatalAssertTrue
为了测试实际值是正确的。资格的总结方法,明白了断言验证表,和其他资格。
通常,每个单元测试函数获得的实际价值运动您测试的代码,并定义相关的期望值。例如,如果您正在测试+
函数,实际值+ (2、3)
和预期的价值5
。在测试函数,你通过资格的实际和预期值的方法。例如:
testCase.verifyEqual (+ (2、3), 5)
一个基本的单元测试的例子,请参阅编写简单的测试用例使用类。
先进的测试类的附加功能
MATLAB单元测试框架包括几个特性编写更先进的测试类:
Setup和teardown方法块隐式地设置进行预测的系统状态并返回到原始状态后运行测试。测试类的一个例子的setup和teardown代码,看看编写Setup和Teardown代码使用类。
高级资格功能,包括实际价值代理、测试诊断和约束接口。有关更多信息,请参见
matlab.unittest.constraints
和matlab.automation.diagnostics.Diagnostic
。参数化测试结合并执行测试指定的参数列表。有关更多信息,请参见创建基本参数化测试和创建先进的参数化测试。
现成的设备处理常用的setup和teardown测试操作和类之间共享设备。有关更多信息,请参见
matlab.unittest.fixtures
和使用共享设备编写测试。