用途:为 MATLAB 函数或类编写并运行单元测试,支持测试驱动开发、覆盖率分析与 CI/CD 配置,也可测试 App Designer 应用。不适用于 Simulink 模型测试和性能基准测试。
主要能力:基于 matlab.unittest 的类式测试(必须继承 matlab.unittest.TestCase,禁止脚本式测试);参数化测试(TestParameter,struct 命名);fixture 与 setup/teardown(推荐 addTeardown、PathFixture);mock 与依赖注入;测试标签选择性执行;覆盖率分析(CodeCoveragePlugin、CoverageResult、CoverageReport);通过 buildtool 与 buildfile.m 接入 CI/CD;App Designer 应用测试(继承 matlab.uitest.TestCase,用编程手势)。
使用方式:先给出测试计划(测试方法与边界情况)待确认,再写测试文件,命名 <functionName>Test.m 并放在 tests/ 目录。通过 MCP 工具 run_matlab_test_file 或 evaluate_matlab_code 执行。常用断言:verifyEqual、verifyTrue、verifySize、verifyClass、verifyError、verifyWarning。运行示例:results = runtests('tests'); results = runtests('tests', Tag='Unit'); results = runtests('tests', UseParallel=true); results = runtests('tests', Strict=true);。
规则与限制:测试方法内不得有 if、switch、for、try/catch,遵循 Arrange-Act-Assert;只测公共接口;浮点比较必须用 AbsTol;默认用 verify 级别断言;测试须独立且兼容并行执行。App 测试中 uilabel.Text 需与 char 比较,.Enable 与 matlab.lang.OnOffSwitchState 比较。更多细节按需加载 reference 目录下的 fixtures、constraints、parameterized-tests、mocking、test-execution、app-testing 等指引文件。