CLI端到端测试框架Skill cli-e2e-test-harness

这是一个用于为命令行界面(CLI)应用程序搭建端到端(E2E)自动化测试框架的技能。它提供了进程生成、输出捕获和断言验证的核心功能,帮助开发者高效地进行CLI工具的集成测试和质量保障。关键词:CLI测试、端到端测试、自动化测试、Node.js、进程生成、测试框架、集成测试、断言验证。

测试 0 次安装 0 次浏览 更新于 2/23/2026

name: cli-e2e-test-harness description: 为CLI应用程序设置端到端测试框架,包含进程生成和断言功能。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

CLI端到端测试框架

为CLI应用程序设置端到端测试框架。

生成的模式

import { spawn, SpawnOptions } from 'child_process';

interface CLIResult {
  stdout: string;
  stderr: string;
  exitCode: number | null;
}

export async function runCLI(args: string[], options?: SpawnOptions): Promise<CLIResult> {
  return new Promise((resolve) => {
    const proc = spawn('node', ['./dist/index.js', ...args], {
      env: { ...process.env, NO_COLOR: '1' },
      ...options,
    });

    let stdout = '';
    let stderr = '';

    proc.stdout?.on('data', (data) => { stdout += data; });
    proc.stderr?.on('data', (data) => { stderr += data; });

    proc.on('close', (exitCode) => {
      resolve({ stdout, stderr, exitCode });
    });
  });
}

export function expectOutput(result: CLIResult) {
  return {
    toContain: (text: string) => expect(result.stdout).toContain(text),
    toMatchSnapshot: () => expect(result.stdout).toMatchSnapshot(),
    toExitWith: (code: number) => expect(result.exitCode).toBe(code),
  };
}

目标流程

  • cli单元集成测试
  • mcp服务器测试套件