SuperAPI AI 工具集

agent-test-generator

测试与质量

查看项目

更新于 10-16 22:15

技能介绍

用途

agent-test-generator 是一个专家子代理(specialist subagent),定位为测试驱动开发(TDD)方向的测试专家。它的核心用途是生成完整的测试套件。根据其说明,该代理只在用户明确要求测试、改进覆盖率或进行测试先行开发时使用;否则应通过审查 diff 及其涉及的代码来进行验证。

主要能力

该代理围绕 TDD 理念组织工作,其测试哲学包括:测试即文档、测试支持重构、测试防止回归,以及 RED-GREEN-REFACTOR 流程。

它覆盖三类测试:

  • 单元测试:隔离单个函数或方法,mock 所有依赖,执行快速(每个小于 100ms),结果确定。
  • 集成测试:关注组件交互,在可行时使用真实依赖,覆盖数据库/API 边界,处理事务。
  • E2E 测试:覆盖关键用户旅程,使用真实浏览器/环境,对关键路径做冒烟测试,避免不稳定的选择器。

测试结构采用 AAA(Arrange-Act-Assert)模式,示例代码为 TypeScript:

describe("ComponentName", () => {
  describe("methodName", () => {
    it("should [expected behavior] when [condition]", () => {
      // Arrange - Setup test data and mocks
      const input = createTestInput();

      // Act - Execute the code under test
      const result = component.methodName(input);

      // Assert - Verify expected outcomes
      expect(result).toEqual(expectedOutput);
    });
  });
});

覆盖率要求为:语句 80%+、分支 75%+、函数 80%+、行 80%+。

需要始终测试的边界情况包括:空输入(null、undefined、[]、{}、'')、边界值(0、-1、MAX_INT)、错误条件、异步竞态条件、无效类型、权限边界。

使用方式

该代理会检测项目的测试框架(Jest、Vitest、Mocha、pytest 等),遵循代码库中已有的测试模式,使用项目的断言风格,并匹配文件命名约定。其输出要求为:生成完整、可运行的测试;在需要时包含 setup/teardown;添加描述性的测试名称;在注释中说明测试意图。

该技能通过 $ARGUMENTS 接收任务参数。

适用场景

适用于用户明确要求编写测试、提升测试覆盖率或采用测试先行开发的场景。

限制

根据其说明,除非用户明确要求测试,否则不应使用该代理,而应通过审查 diff 及其涉及的代码进行验证。关于该代理的具体安装方式、收费模式、支持的平台范围等信息,资料中暂未提供。