通义灵码能根据接口定义自动生成符合业务语义的Mock数据——不必再手动填写大量硬编码的假数据了。操作路径也很直接:在支持的IDE中,右键选择「Generate Mock Data」,通过Javadoc注释、自然语言指令或者「Refine with AI」注入业务规则,导出JSON后放到test/resources/mocks目录下,再验证一下字段有效性即可完成。

用它来生成测试数据,可以避开那些硬编码假数据、随机字段失真、跨环境没法复用之类的坑。直接基于接口定义产出可读、可验、可运行的测试数据,才是提升测试效率的正确做法。
在IDE中触发Mock数据生成
打开待测接口所在文件——比如Spring Boot的Controller或者OpenAPI YAML——确保光标落在接口方法名或接口定义块内,右键菜单选择「通义灵码」,再点「Generate Mock Data」选项。
这一步必须在支持通义灵码插件的IDE里操作(IntelliJ IDEA 2024.3+ / VS Code 1.85+),低版本IDE无法准确识别接口上下文,生成结果会缺失字段语义约束,届时还需要返工修改。
让AI理解真实业务规则
通义灵码默认只解析字段类型,要让它产出“接近真实业务”的数据,你应当主动给它补充业务提示。这里有三种方法:
方法一:加Javadoc注释。在接口方法上方写明字段含义和取值逻辑。比如:/** 用户注册接口。username应为3-16位中文昵称或英文ID;email域名限qq.com/163.com;age按Z世代用户画像集中在18-28岁 */
方法二:用自然语言指令。选中接口定义后,在通义灵码问答面板里输入:“请按电商C端用户注册场景生成10条Mock数据,要求username含地域特征(如‘杭州小李’)、email使用真实邮箱服务商、age分布符合18-45岁正态分布,排除负数和超龄值。”
方法三:微调不满意的结果。对生成的Mock数据不满意?直接选中返回的JSON片段,右键「Refine with AI」,输入修正要求。比如“把所有password字段替换为符合8位以上、含大小写字母和数字的强密码”。
导出并验证Mock数据有效性
生成完成后,通义灵码会弹出预览窗口,点击右上角「Export as JSON」按钮,保存为mock_user_register.json。
接着把这个文件放到项目src/test/resources/mocks/目录下,确保路径能被测试框架正常识别。
然后在JUnit测试类里加载并断言关键字段:JsonNode mock = mapper.readTree(getClass().getResource("/mocks/mock_user_register.json")); → assertThat(mock.get("age").asInt()).isBetween(18, 45);
注意:如果测试报错JsonProcessingException,很可能是导出时没关「Pretty Print」格式化开关,导致换行符混入了JSON字符串。重新导出并勾选「Minify JSON」即可解决——这是个容易被忽略的小细节。
