编写单元测试
使用脚本、函数或类编写测试;应用脚手架;参数化测试
使用 MATLAB® 单元测试框架编写测试,以检查 MATLAB 脚本、函数或类的输出是否符合预期。例如,您可以测试实际输出值是否与预期值相符,也可以测试输出是否具有预期的大小和类型。
单元测试框架允许您使用脚本、函数或类编写测试:
基于脚本的测试提供基本的测试编写功能。您可以在测试脚本中使用
assert
函数来执行基本鉴定。基于函数的测试遵循 xUnit 测试理念,并提供广泛的测试编写功能。例如,您可以使用高级鉴定功能,包括约束、容差和测试诊断。
基于类的测试可为您提供对整个框架功能的访问权限。例如,您可以使用共享测试脚手架、参数化测试和重用测试内容。
有关详细信息,请参阅 编写单元测试的方法。
函数
assert | 条件为 false 时引发错误 |
functiontests | 根据局部函数的句柄创建测试数组 |
类
matlab.unittest.FunctionTestCase | 基于函数的测试的测试用例 |
matlab.unittest.TestCase | 所有测试类的超类 |
matlab.automation.diagnostics.Diagnostic | Fundamental interface for diagnostics |
matlab.automation.Verbosity | Verbosity level enumeration class |
命名空间
matlab.unittest | MATLAB 单元测试框架中的类和命名空间的摘要 |
matlab.unittest.constraints | MATLAB 约束接口中的类摘要 |
matlab.unittest.fixtures | MATLAB 套件界面中的类的摘要 |
matlab.unittest.parameters | 与 MATLAB 单元测试参数关联的类的摘要 |
matlab.unittest.qualifications | MATLAB 鉴定接口中的类摘要 |
主题
编写基于类的测试
- 在 MATLAB 中编写基于类的单元测试
要测试 MATLAB 程序,可使用鉴定机制来编写单元测试,这些鉴定是用于测试值和对失败进行响应的方法。 - 使用类来编写简单测试用例
编写基于类的单元测试来确定程序的正确性。 - 使用类来编写设置代码和拆解代码
指定一个测试类中在每个Test
方法或所有Test
方法之前和之后运行的设置和拆解代码。 - 使用共享脚手架编写测试
创建测试时,跨测试类共享脚手架。 - 标记单元测试
使用测试标记将测试划分为多个类别,然后运行具有指定标记的测试。典型的测试标记可标识特定功能或描述测试类型。 - Insert Test Code Using Editor
Write a parameterized test interactively by using the options in the MATLAB Editor. - 验证、断言及其他鉴定一览表
使用验证、假设、断言和致命断言来测试值和响应失败。 - 编写单元测试的方法
选择最适合您的要求和首选工作流的测试编写方案。
编写参数化测试
- 在基于类的测试中使用参数
使用参数为您的测试提供要迭代使用的数据。 - 创建基本参数化测试
通过创建在Test
methods
块中参数化的测试来测试函数。 - 创建高级参数化测试
创建在TestClassSetup
、TestMethodSetup
和Test
methods
块中参数化的测试。 - Define Parameters at Suite Creation Time
Use aTestParameterDefinition
method to define parameters at test suite creation time. - 在参数化测试中使用外部参数
使用数据驱动的测试将变量输入插入参数化测试。
编写基于函数的测试
- 编写基于函数的单元测试
测试函数是一个 MATLAB 文件,其中包含主函数和您的各个局部测试函数。您也可以包括文件脚手架并刷新脚手架函数。 - 使用函数编写简单测试用例
编写基于函数的单元测试来确定程序的正确性。 - 使用设置和拆解函数编写测试
使用设置和拆解函数(这些函数在测试文件中运行一次并且在文件中的每个测试函数之前和之后运行)来编写基于函数的测试。 - 扩展基于函数的测试
使用基于函数的测试访问其他功能,包括脚手架应用、测试选择、以编程方式访问测试诊断以及测试运行器自定义。
编写基于脚本的测试
- 编写基于脚本的单元测试
编写脚本来测试您创建的函数。 - 使用实时脚本编写测试
编写实时脚本,对您创建的函数进行测试。 - 使用局部函数编写基于脚本的测试
编写将局部函数用作辅助函数的基于脚本的测试。 - 扩展基于脚本的测试
使用基于脚本的测试访问其他功能,包括测试选择、以编程方式访问测试诊断以及测试运行器自定义。