Need help with insta?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mitsuhiko
659 Stars 38 Forks Apache License 2.0 395 Commits 13 Opened issues

Description

A snapshot testing library for rust

Services available

!
?

Need anything else?

Contributors list

insta: a snapshot testing library for Rust

Build Status Crates.io License Documentation VSCode Extension

Introduction

Snapshots tests (also sometimes called approval tests) are tests that assert values against a reference value (the snapshot). This is similar to how

assert_eq!
lets you compare a value against a reference value but unlike simple string assertions, snapshot tests let you test against complex values and come with comprehensive tools to review changes.

Snapshot tests are particularly useful if your reference values are very large or change often.

Example

#[test]
fn test_hello_world() {
    insta::assert_debug_snapshot!(vec![1, 2, 3]);
}

Curious? There is a screencast that shows the entire workflow: watch the insta introduction screencast. Or if you're not into videos, read the one minute introduction.

Insta also supports inline snapshots which are stored right in your source file instead of separate files. This is accomplished by the companion cargo-insta tool.

Editor Support

For looking at

.snap
files there is a vscode extension which can syntax highlight snapshot files, review snapshots and more. It can be installed from the marketplace: view on marketplace.

jump to definition

Diffing

Insta uses

similar
for all its diffing operations. You can use it independently of insta.

License and Links

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.