测试规范:命名、结构、禁止行为。放
.claude/rules/testing.md,AI 写测试时自动遵守。
src/test/java/,与生产代码同包XxxTest,方法命名 test_{方法名}_{场景}每个测试只测一个场景,用 Given-When-Then 组织:
@Test
void test_save_success() {
// Given:准备数据
Entity e = new Entity();
e.setName("test");
// When:执行
String id = service.save(e);
// Then:断言
assertNotNull(id);
}
| 场景 | 命名示例 |
|—|—|
| 正常流程 | test_save_success |
| 参数为空 | test_save_nullParam |
| 数据不存在 | test_delete_notFound |
| 边界条件 | test_list_largeOffset |
| 异常情况 | test_save_duplicateKey |
@BeforeEach 重置环境(测试间不共享状态)@Sql(或你框架的数据初始化)准备数据,测完清理System.out.println(用日志框架)相关:
service-dao.md(Service 层规范)、error-handling.md(异常处理)。