auto-request
Version:
通过Yapi JSON Schema生成接口Axios或Taro接口
120 lines (112 loc) • 2.86 kB
JavaScript
/**
* 测试配置统一管理(CommonJS 版本)
* 所有示例的配置都在这里定义,确保 dev 和 build 测试使用相同的配置
*/
/**
* all-api 配置
* 大型项目测试 (206 个接口)
* - TypeScript 模式
* - 包含日志输出
*/
const allApiConfig = {
filename: 'all-api',
isTypeScript: true,
loggerPath: undefined, // 运行时动态设置(完整路径)
skipPrompt: true,
};
/**
* kae 配置
* KAE 项目测试 (57 个接口)
* - TypeScript 模式
* - 包含快照和日志
*/
const kaeConfig = {
filename: 'kae',
isTypeScript: true,
loggerPath: undefined, // 运行时动态设置(完整路径)
snapshotsPath: undefined, // 运行时动态设置
skipPrompt: true,
};
/**
* open 配置
* 中型项目测试 (44 个接口)
* - JavaScript 模式
* - 不使用 JsDoc
* - 包含快照
*/
const openConfig = {
filename: 'index',
isTypeScript: false,
jsdoc: {
enabled: false,
},
snapshotsPath: undefined, // 运行时动态设置
skipPrompt: true,
};
/**
* usercenter 配置
* 小型项目测试 (3 个接口)
* - JavaScript 模式
* - 不使用 JsDoc
* - 包含快照
*/
const usercenterConfig = {
filename: 'index',
isTypeScript: false,
jsdoc: {
enabled: false,
},
snapshotsPath: undefined, // 运行时动态设置
skipPrompt: true,
};
/**
* account 配置
* Kepler API 测试 (116 个接口)
* - JavaScript 模式
* - 包含 JsDoc
* - 包含快照和日志
*
* 注意:account 的配置比较特殊,包含自定义 renderMethodCall
* 配置保存在 tests/dev/account.ts 中,不适合放在这里
*/
const accountConfig = {
// Kepler API 配置(可复用)
KEPLER_API: {
url: 'https://kepler.kso.net/api/v1/document/v1/yapi/online/swagger',
authorization: 'eyJhbGciOiJIUzUxMiIsImlhdCI6MTc2MjA3NjA3OSwiZXhwIjoxNzYzMjg1Njc5fQ.eyJ1c2VybmFtZSI6IjMxNDUyODIwMSJ9.Unl9riw31gLw2fWTq7MGRNN29mTDZzQwWmNboriAyb9E1uTq-cNA4if2k84SGrDEzTGQaCVb5aNouX-FLkVoTg',
projectId: 1,
serviceId: 20,
branchId: 4794,
},
// 基本配置(简化版,不含 renderMethodCall)
baseConfig: {
filename: 'account',
isTypeScript: true, // TypeScript 模式
skipPrompt: true,
// 忽略会导致重复函数名的 URL
ignoreUrls: [
'/api/user/{userid:\\d+}/devices', // 这个会和 /api/user/{userid}/devices 冲突
],
// TypeScript 模式下不需要 jsdoc
},
};
/**
* 获取配置(带动态路径)
* @param baseConfig 基础配置
* @param paths 路径配置
*/
function getConfig(baseConfig, paths) {
return {
...baseConfig,
loggerPath: paths.loggerPath || baseConfig.loggerPath,
snapshotsPath: paths.snapshotsPath || baseConfig.snapshotsPath,
};
}
module.exports = {
allApiConfig,
kaeConfig,
openConfig,
usercenterConfig,
accountConfig,
getConfig,
};