Skip to content

deref/transcript

Repository files navigation

Transcript

transcript is a CLI tool for snapshot testing command-line programs.

Tests are written in a small, line-oriented format (usually *.cmdt) that captures a shell session: commands, stdout/stderr, and exit codes. The format is designed to be readable in reviews and easy to update when outputs change.

Highlights

  • Record sessions interactively (transcript shell)
  • Check transcripts in CI (transcript check)
  • Update expectations when outputs change (transcript update)
  • Reference external files for large or binary output (1< / 2<)
  • Embed transcripts in Go tests via cmdtest.Check

Quick Start

Create a transcript and check it:

cat > demo.cmdt <<EOF
$ echo stdout
1 stdout

$ echo stderr 1>&2
2 stderr

# Non-zero exit codes.
$ false
? 1
EOF

transcript check ./demo.cmdt

Install

go install github.com/deref/transcript@latest

Transcript is not Go-specific, but it is written in Go and can be used in Go test suites via cmdtest.Check.

Documentation

About

CLI tool for snapshot testing other CLI tools

Topics

Resources

License

Stars

Watchers

Forks