CLI模拟标准输入Skill cli-mock-stdin

这是一个用于创建模拟标准输入(stdin)实用工具的软件开发技能,主要用于自动化测试交互式命令行界面(CLI)。它通过生成模拟的用户输入流,帮助开发者对涉及用户交互的命令行程序进行单元测试和集成测试。关键词:CLI测试、模拟输入、交互式测试、Node.js、自动化测试、单元测试、集成测试。

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

name: cli-mock-stdin description: 为交互式CLI测试创建模拟标准输入实用工具。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

CLI 模拟标准输入

为测试创建模拟标准输入实用工具。

生成的模式

import { Readable } from 'stream';

export function mockStdin(inputs: string[]): Readable {
  let index = 0;
  return new Readable({
    read() {
      if (index < inputs.length) {
        setTimeout(() => {
          this.push(inputs[index++] + '
');
        }, 10);
      } else {
        this.push(null);
      }
    },
  });
}

export async function runWithStdin(
  cmd: () => Promise<void>,
  inputs: string[]
): Promise<void> {
  const originalStdin = process.stdin;
  Object.defineProperty(process, 'stdin', { value: mockStdin(inputs) });
  try {
    await cmd();
  } finally {
    Object.defineProperty(process, 'stdin', { value: originalStdin });
  }
}

目标流程

  • cli-unit-integration-testing
  • interactive-prompt-system