# testing.recordInvocations

- **Module:** testing
- **Package:** libtmux
- **Language:** TypeScript
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-ts/blob/3fe1ca654b81b8cbf4a13b777a001a3298c87a6f/packages/libtmux/src/testing.ts#L218
- **Page:** https://libtmux.org/en/ts/latest/reference/testing-recordinvocations/

```
testing.recordInvocations(inner: : TmuxEngine = new NodeSpawnTransport()) -> { readonly engine: TmuxEngine; /** The recording so far, safe to serialize at any point. */ readonly recording: () => TmuxRecording; }
```

Wrap an engine so every invocation it runs is written down.

The wrapper is transparent: it answers exactly what the inner engine
answered, so a suite can record while it runs against real tmux and keep
asserting on the real results. Called with nothing it wraps the engine a
`Server` builds for itself, which is what recording against a local tmux
means and saves reaching for an internal class to say so.
