CLI Snapshot Tester

Set up snapshot testing for CLI output with update workflows and diff reporting.

a5c-ai Updated 1.7k repo stars

File contents

CLI Snapshot Tester

Set up snapshot testing for CLI output.

Generated Patterns

import { execSync } from 'child_process';
import fs from 'fs';
import path from 'path';

export function runCliSnapshot(cmd: string, name: string): void {
  const output = execSync(cmd, { encoding: 'utf-8' });
  const snapshotPath = path.join('__snapshots__', `${name}.txt`);

  if (process.env.UPDATE_SNAPSHOTS) {
    fs.mkdirSync(path.dirname(snapshotPath), { recursive: true });
    fs.writeFileSync(snapshotPath, output);
    return;
  }

  const expected = fs.readFileSync(snapshotPath, 'utf-8');
  expect(output).toBe(expected);
}

Target Processes

  • cli-unit-integration-testing
  • cli-documentation-generation

a5c-ai/babysitter/tree/main/library/specializations/cli-mcp-development/skills/cli-snapshot-tester commit fdb31c99b6

Frequently asked questions

npx skillmds@latest add a5c-ai/cli-snapshot-tester