* 适用于测试或编程式触发命令的场景。 * * 与 run() 不同,这里不会读取 process.argv,而是解析传入的 args, * 从而避免测试环境(Jest/Node)对命令行参数的污染。
(...args: string[])
| 62 | * 从而避免测试环境(Jest/Node)对命令行参数的污染。 |
| 63 | */ |
| 64 | public async runCommand(...args: string[]) { |
| 65 | this.loadCommands(); |
| 66 | try { |
| 67 | return await this.program.parseAsync(args, { from: 'user' }); |
| 68 | } catch (error) { |
| 69 | this.handleError(error, false); |
| 70 | throw error; |
| 71 | } |
| 72 | } |
| 73 | |
| 74 | private handleError(error: unknown, useDefault: boolean) { |
| 75 | const err = error instanceof Error ? error : new Error(String(error)); |
no test coverage detected