SuperAPI AI 工具集

matlab-write-test

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:为 MATLAB 函数或类编写、组织并运行单元测试,支持测试驱动开发、覆盖率分析与 CI/CD 配置,也可测试 App Designer 应用。不适用于 Simulink 模型测试和性能基准测试。

主要能力:基于 matlab.unittest 的类式测试(必须继承 matlab.unittest.TestCase,禁止脚本式测试);参数化测试(TestParameter,struct 命名);fixture 与 setup/teardown(推荐 addTeardown、PathFixture);mock 与依赖注入;覆盖率分析(CodeCoveragePlugin、CoverageResult、CoverageReport);测试标签与筛选;并行执行;通过 buildtool 集成 CI/CD;App Designer 应用测试(继承 matlab.uitest.TestCase,需 drawnow,文本用 char 比较,Enable 用 OnOffSwitchState)。

使用方式:先给出测试计划(测试方法与边界情况)待确认,再写测试文件,命名 <functionName>Test.m 并放在 tests/ 目录。通过 MCP 工具 run_matlab_test_file 或 evaluate_matlab_code 执行。常用断言:verifyEqual/verifyNotEqual(浮点用 AbsTol)、verifyTrue/verifyFalse、verifySize/verifyClass/verifyEmpty、verifyError、verifyWarning/verifyWarningFree。运行示例: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;只测公共接口;默认用 verify 级别;浮点比较必须用 AbsTol;测试需独立且兼容并行;随机数需设种子并在 teardown 恢复。更多细节按需加载 reference 下的 fixtures、constraints、parameterized-tests、mocking、test-execution、app-testing 等指引文件。