Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

matlab-test-creatormatlab 测试创建器

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

404

周安装

17

GitHub Stars

74

下载量

141
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:matlab-test-creator(matlab 测试创建器)
来源仓库:https://github.com/matlab/skills
仓库路径:skills/matlab-test-creator
安装命令:
npx skills add https://github.com/matlab/skills --skill matlab-test-creator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/matlab/skills --skill matlab-test-creator

简介

matlab-test-creator 用于辅助测试设计、自动化测试和用例整理。

  • 适合编写单元测试、端到端测试和测试计划等测试场景。
  • 使用时需要确认项目测试框架和运行命令,避免为了通过测试而改坏真实逻辑;应区分本地模拟和测试环境。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需确认权限范围和维护状态。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

MATLAB Test Generator

Generate robust unit tests using the MATLAB Testing Framework. This skill covers:

  • Test Creation: Writing test classes, methods, fixtures, assertions, and mocks

Must-Follow Rules

  • Present a test plan if needed - Create a user-approved test plan before writing test code unless the scope is limited and straightforward.
  • Show diff before updating - For existing test files, always show the user a diff and wait for approval before editing.
  • Always use class-based tests - Every test file must define a class inheriting from matlab.unittest.TestCase. Never use function-based or script-based tests.
  • Do not guess requirements - If scope or expected behaviors are unclear, ask

Test Creation

Test Class Template

Add properties, TestParameter, and setup/teardown blocks as needed.

classdef MyFunctionTest < matlab.unittest.TestCase

    methods (Test)
        % Individual test methods
    end
end

Critical Rules

File Naming

  • Test files MUST end with Test.m (e.g., myFunctionTest.m)
  • Class name must match filename

Test Method Naming

  • Descriptive camelCase names starting with lowercase
  • Example: testAdditionWithPositiveNumbers

Test location

Ideally, add all test files to a tests/ folder alongside the source

Properties

Use Mixed case unless it's a TestParameter. For a TestParameter, use camelCase. Only use properties if local variables won't suffice.

Assertions / Qualifications

  • Prefer verify* methods (continue on failure) over assert* (stop on failure)
  • Use verifyError(@() func(args), "errorID") for error testing
  • Use verifyWarningFree(@() func(args)) for clean execution
  • Prefer informal APIs over verifyThat calls
  • Floating-point comparisons should use tolerance: testCase.verifyEqual(actual, expected, AbsTol=1e-10); testCase.verifyEqual(actual, expected, RelTol=1e-6);
  • For advanced verification, constraint objects, and custom constraints see references/constraints.md

No Logic in Tests

  • No if, switch, for, or try/catch in test methods. If a test needs conditionals, split into separate methods.
  • Follow the Arrange-Act-Assert pattern: set up inputs, call the code under test, verify the result. Nothing else.

Using TestParameter

Parameterize only when assertion logic is identical across all cases — only the data varies. Use separate test methods when cases need different assertions, tolerances, setup, or when you'd need conditionals to distinguish them.

Test Scope

  • Test public interfaces, not implementation. Never test private methods directly — verify correctness through the public API.
  • If a private method seems complex enough to need its own tests, the user should refactor it into a separate, publicly testable function.

Determinism

For tests involving randomness, seed the RNG and restore it:

methods (TestMethodSetup)
    function resetRandomSeed(testCase)
        originalRng = rng;
        testCase.addTeardown(@() rng(originalRng));
        rng(42, "twister");
    end
end

Test Assumptions

Most tests do not need assumptions. Only add assume* when a test absolutely requires specific environment prerequisites that may not be present on all machines:

testCase.assumeTrue(canUseGPU(), "Requires GPU");

Test Tagging

Use TestTags attribute (e.g., 'Unit', 'Integration', 'Slow', 'GPU') on methods (Test) blocks for selective execution.

Test independence

Each test should be able to run independently and be compatible with running tests in parallel.

Adding path to source files

Use PathFixture to add paths so the tests have access to the source if needed. Use IncludingSubfolders when there are nested packages or subdirectories that also need to be on the path:

methods (TestClassSetup)
    function addSourceToPath(testCase)
        srcFolder = fullfile(fileparts(fileparts(mfilename('fullpath'))), 'src');
        testCase.applyFixture(matlab.unittest.fixtures.PathFixture(srcFolder, ...
            IncludingSubfolders=true));
    end
end

For more details, if necessary, see references/fixtures.md.

Diagnostics

Add additional diagnostics for clarity where the framework diagnostic may be insufficient.

Test Planning

Assess complexity first, then follow the appropriate path.

Simple tests (source code provided, clear behavior, no mocks/fixtures/parameterization)

  1. Briefly state what you'll test (methods + key edge cases)
  2. Write the test file after user confirms

Standard tests (Large codebase, multiple comprehensive test files) — 3-phase workflow: Gather → Plan → Implement

Phase 1: Gather Requirements

Checklist: Information needed (ask if unknown)

  • Code to test - Provide path or content of the function/class to test
  • Expected behaviors - What should the code do in normal cases?
  • Error conditions - What inputs should cause errors/warnings?
  • Test scope: Unit (isolated), Integration (with dependencies), or System?
  • External dependencies: Files, databases, network, hardware?
  • Determinism needs: Random numbers, timestamps, or other non-deterministic behavior?
  • Deployment targets: MATLAB Coder or Compiler SDK? If yes, recommend equivalence testing via matlabtest.coder.TestCase / matlabtest.compiler.TestCase.

Phase 2: Present Test Plan for Approval

Present a test plan. Do NOT write any test files until the user confirms the plan. A plan may include: list of test methods with names, which behaviors each covers, parameterization strategy, fixtures needed, and edge cases selected

Edge Cases to Consider

  • Empty inputs ([], '', {})
  • Boundary values (0, 1, -1, max, min)
  • Invalid types (string instead of number, etc.)
  • Large inputs (performance/memory)
  • Special values (NaN, Inf, -Inf)

Phase 3: Implement Approved Plan

Apply reference card patterns. Write new test files or show diffs for existing files (per Must-Follow Rules).

References

In many cases, what's present in this file should be sufficient. Do not read the references cards unless the conditions stated in the table are met.

Load when code under test...Card
Uses setup/teardown, temp files, figures, database connections, shared state, or needs built-in fixturesreferences/fixtures.md
Involves floating-point math needing tolerance selection, constraint objects (verifyThat), or custom constraintsreferences/constraints.md
Needs multiple TestParameter properties, dynamic parameters (TestParameterDefinition), or help with cross-product pitfallsreferences/parameterized-tests.md
Depends on external services, needs mock objects, or requires dependency injectionreferences/mocking.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.45%
按下载量换算47

Claude

29.48%
按下载量换算42

Cursor

20.11%
按下载量换算28

Gemini CLI

8.81%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills