SuperAPI AI 工具集

testing

测试与质量

查看项目

更新于 10-16 01:12

技能介绍

用途:为 Dart 与 Flutter 项目提供 VGV 团队风格的测试约定,在框架 API 之上规定命名、分组、隔离与文件组织方式。

主要能力:要求测试名描述行为而非“works/renders”;用 group/test 层级让描述连读成自然语句,顶层 group 用 PascalCase 类型本身,类型引用用字符串插值如 'returns $User';每个文件用私有 mock(class _MockX extends Mock implements X {});setUp/tearDown 必须放在 group 内,可变对象用 late 在 setUp 中初始化,禁止跨测试共享可变状态;统一使用 package:mocktail,标签用抽象类 TestTag 的静态常量;不直接测试私有方法,通过公开方法间接验证。

文件组织:测试文件以 _test.dart 结尾,全部放在 test/ 下并镜像 lib/ 结构,共享工具放 test/helpers/。Widget 测试用 testWidgets,优先 find.byType 或 find.text,按 renders、navigates、calls、updates 分组,用 bloc_test 的 MockBloc/MockCubit,优先 pump() 而非 pumpAndSettle(),并通过 test/helpers/pump_app.dart 的 pumpApp 辅助方法包裹组件。golden 测试需打 TestTag.golden 标签,视觉属性交给 golden 而非 Widget 测试断言。

使用方式:项目不在工作区根目录时,向 test MCP 工具传 directory(如 'mobile');传 timeout_seconds(如 120)避免 pumpAndSettle 挂起。Claude Code 上用 mcp__very-good-cli__test;无该 MCP 时直接运行 very_good test(或 flutter test / dart test),带相同覆盖率与超时选项。可用 --test-randomize-ordering-seed random 暴露隐藏依赖。

限制:资料未提供安装命令、版本要求、收费与效果数据;其余细节见 references/ 下的 mocktail、test-patterns、widget-tests、golden-tests、matchers、configuration、coverage、animation-testing 文档。