作者
zsw zswemail@qqcom主页 https://zsw.ink
github https://github.com/iszsw/mock
gitee https://gitee.com/iszsw/mock
使用
1、安装
composer require iszsw/mock:dev-master
2、添加测试代码 在 app/controller 目录下增加Test.php文件
3、复制文档资源文件 vendor/iszsw/mock/src/static 文件夹放置到public下
如果路径不不是 /static 可以在config/mock.php配置文件中修改4、 访问注解路由:/test?username=zsw 测试数据:/mock?mock=1 接口文档:/wiki功能说明
配置文件 config/mock.php1、注解路由
路由注解 模型注解 自动注入同Tp6官方注解新增AutoValidate注解
@AutoValidate({"username":"require|chsAlpha"}, message={"username":"请输入用户名"})2、接口测试数据生成
MockPack 嵌套数据生成支持无限级嵌套@MockPack extends MockBase // 数据长度 0表示单层数据 @var int limit /* * 置顶 (limit > 1 时有效) * false:['fields'=>[["a"=>"b"], ["aa"=>"bb"]]] * true:[["a"=>"b"], ["aa"=>"bb"]] */ @var boolean main例:
/** * @MockPack("articles", mode="response", title="文章列表", description="文章列表", limit=3) * @Mock("title", mode="response", title="标题", example="name") * @Mock("content", mode="response", title="内容", example={"sentence": 10}) * * @MockPack("user", main=true, mode="response", title="用户", description="发布者信息", limit=0) * @Mock("username", mode="response", title="用户名", example="name") * @MockPack("user") * * @MockPack("articles") */ 生成结果 { "articles": [{ "title": "乔阳", "content": "Vero impedit et consequatur quasi doloribus dolores illum sit expedita doloremque fugiat esse deleniti quisquam.", "user": { "username": "方建明" } }, { "title": "蒙桂花", "content": "Iure explicabo officiis minima et impedit sunt dignissimos necessitatibus ratione animi nam aperiam dolorum.", "user": { "username": "谷致远" } }, { "title": "郑文", "content": "Minus cum unde exercitationem sunt laudantium eveniet voluptatem magni ut cum non.", "user": { "username": "宁丽娟" } }] }Mock 数据生成@Mock extends MockBase /** * 自定义字符串 example="zsw" * Faker方法名 参考https://github.com/fzaninotto/Faker * 自定义方法名 \app\logic\Mock::name * example="方法名" || example={"方法名": {"参数1", "参数2"}} */ @var string|array example3、接口文档生成
使用参考
1、注解路由
2、接口测试数据生成
生成的数据格式为
{ "articles": [{ "title": "乔阳", "content": "Vero impedit et consequatur quasi doloribus dolores illum sit expedita doloremque fugiat esse deleniti quisquam.", "user": { "username": "方建明" } }, { "title": "蒙桂花", "content": "Iure explicabo officiis minima et impedit sunt dignissimos necessitatibus ratione animi nam aperiam dolorum.", "user": { "username": "谷致远" } }, { "title": "郑文", "content": "Minus cum unde exercitationem sunt laudantium eveniet voluptatem magni ut cum non.", "user": { "username": "宁丽娟" } }] }3、接口文档生成