Cli e2e test harness
Skill a5c-ai/babysitter/library/specializations/cli-mcp-development/skills/cli-e2e-test-harness
Babysitter enforces obedience on agentic workforces and enables them to manage extremely complex tasks and workflows through deterministic, hallucination-free self-orchestration
npx -y skills add a5c-ai/babysitter --skill cli-e2e-test-harnessAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Set up E2E test harness for CLI applications with process spawning and assertions.
SKILL.md
1.6 KB, as published. Nobody here has run it
CLI E2E Test Harness
Set up E2E test harness for CLI applications.
Generated Patterns
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),
};
}
Target Processes
- cli-unit-integration-testing
- mcp-server-testing-suite