SuperAPI AI 工具集

generating-test-doubles

测试与质量

查看项目

更新于 10-23 19:43

技能介绍

用途:该技能用于简化单元测试编写,自动生成测试替身(mocks、stubs、spies、fakes)。它会分析被测代码、识别依赖,并生成所需的测试替身代码,从而减少编写有效单元测试所需的时间和精力。

主要能力:

  • 依赖分析:分析代码,识别需要替换为测试替身的依赖。
  • 测试替身生成:根据依赖和指定的测试框架,生成相应的 mock、stub、spy 或 fake。
  • 代码插入:提供生成的测试替身代码,可直接集成到单元测试中。

使用方式:当需要为单元测试中的外部 API 调用创建 mock、为服务依赖生成 stub 以控制其行为,或实现 spy 以跟踪测试期间与真实对象的交互时,该技能会被激活。

示例: 示例一:用户请求“Generate mocks for the fetchData function in dataService.js using Jest.”,该技能会分析 dataService.js 文件,识别 fetchData 函数及其依赖,并生成 Jest mock,以便模拟 API 响应。 示例二:用户请求“Create stubs for the NotificationService in userService.js using Sinon.”,该技能会分析 userService.js 并识别 NotificationService 依赖,生成 Sinon stub,以便在测试 userService.js 时控制其行为。

适用场景:适用于单元测试中的依赖隔离,包括外部 API 调用、服务依赖和真实对象交互跟踪等场景。

限制与建议:建议明确指定所用测试框架(如 Jest、Sinon)以获得最佳生成效果;提供相关代码片段或文件路径以确保依赖分析准确;并根据目的选择测试替身类型:用 mock 验证行为、用 stub 控制响应、用 spy 跟踪交互。