CLI Snapshot Tester

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

majiayu000 8946f69 2 files · 1.6 KB Updated 567 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

majiayu000/claude-skill-registry-data/tree/main/data/cli-snapshot-tester commit 8946f69a22

Frequently asked questions

npx skillmds add majiayu000/cli-snapshot-tester