👋 Introduction
Test helpers for Ink CLIs — frame-history rendering and isolated subprocess runs
cli-testing gives Ink CLIs two ways to be tested against the two ways they go
wrong: the component renders the wrong thing, or the binary behaves wrongly
when actually run. renderFrames drives a component in process and reads its
history of frames; runCli spawns the real binary in an environment that owns
none of the developer's credentials or config.
What's here
- 🖼️ Rendering components —
renderFrames, whyoutput()beatslastFrame(), and howwaitForreports its own timeouts - ⚙️ Running the CLI —
runCli, the fresh-HOME-and-cwdisolation, and the options that control it - 🔧 Peer dependencies — why
ink,react, andink-testing-librarymust be peers, plus how this relates to@kud/cli-shot