{"id":13550265,"url":"https://github.com/mitsuhiko/insta","last_synced_at":"2026-01-31T08:08:07.691Z","repository":{"id":33995552,"uuid":"165561258","full_name":"mitsuhiko/insta","owner":"mitsuhiko","description":"A snapshot testing library for rust","archived":false,"fork":false,"pushed_at":"2025-04-29T19:14:55.000Z","size":10998,"stargazers_count":2473,"open_issues_count":55,"forks_count":121,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-07T11:41:46.291Z","etag":null,"topics":["rust","snapshot-tests","vscode-extension"],"latest_commit_sha":null,"homepage":"https://insta.rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitsuhiko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["mitsuhiko"]}},"created_at":"2019-01-13T22:25:41.000Z","updated_at":"2025-05-03T18:31:41.000Z","dependencies_parsed_at":"2024-03-03T00:30:09.334Z","dependency_job_id":"dd5d8043-b5c5-4d43-85e4-361c27a812a3","html_url":"https://github.com/mitsuhiko/insta","commit_stats":{"total_commits":781,"total_committers":48,"mean_commits":"16.270833333333332","dds":"0.22407170294494239","last_synced_commit":"0c239ca1f5eab0a14c35f25401cd81b1158b155e"},"previous_names":[],"tags_count":97,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuhiko%2Finsta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuhiko%2Finsta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuhiko%2Finsta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuhiko%2Finsta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitsuhiko","download_url":"https://codeload.github.com/mitsuhiko/insta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254140738,"owners_count":22021218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","snapshot-tests","vscode-extension"],"created_at":"2024-08-01T12:01:30.864Z","updated_at":"2025-12-29T05:25:09.266Z","avatar_url":"https://github.com/mitsuhiko.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/mitsuhiko/insta/blob/master/assets/logo.png?raw=true\" width=\"250\" height=\"250\"\u003e\n \u003cp\u003e\u003cstrong\u003einsta: a snapshot testing library for Rust\u003c/strong\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n[![Crates.io](https://img.shields.io/crates/d/insta.svg)](https://crates.io/crates/insta)\n[![License](https://img.shields.io/github/license/mitsuhiko/insta)](https://github.com/mitsuhiko/insta/blob/master/LICENSE)\n[![Documentation](https://docs.rs/insta/badge.svg)](https://docs.rs/insta)\n[![VSCode Extension](https://img.shields.io/visual-studio-marketplace/v/mitsuhiko.insta?label=vscode%20extension)](https://marketplace.visualstudio.com/items?itemName=mitsuhiko.insta)\n\n## Introduction\n\nSnapshots tests (also sometimes called approval tests) are tests that\nassert values against a reference value (the snapshot). This is similar\nto how `assert_eq!` lets you compare a value against a reference value but\nunlike simple string assertions, snapshot tests let you test against complex\nvalues and come with comprehensive tools to review changes.\n\nSnapshot tests are particularly useful if your reference values are very\nlarge or change often.\n\n## Example\n\n```rust\n#[test]\nfn test_hello_world() {\n    insta::assert_debug_snapshot!(vec![1, 2, 3]);\n}\n```\n\nCurious? There is a screencast that shows the entire workflow: [watch the insta\nintroduction screencast](https://www.youtube.com/watch?v=rCHrMqE4JOY\u0026feature=youtu.be).\nOr if you're not into videos, read the [5 minute introduction](https://insta.rs/docs/quickstart/).\n\nInsta also supports inline snapshots which are stored right in your source file\ninstead of separate files. This is accomplished by the companion\n[cargo-insta](https://github.com/mitsuhiko/insta/tree/master/cargo-insta) tool.\n\n## Editor Support\n\nFor looking at `.snap` files there is a [vscode extension](https://github.com/mitsuhiko/insta/tree/master/vscode-insta)\nwhich can syntax highlight snapshot files, review snapshots and more. It can be installed from the\nmarketplace: [view on marketplace](https://marketplace.visualstudio.com/items?itemName=mitsuhiko.insta).\n\n![jump to definition](https://raw.githubusercontent.com/mitsuhiko/insta/master/vscode-insta/images/jump-to-definition.gif)\n\n## Diffing\n\nInsta uses [`similar`](https://github.com/mitsuhiko/similar) for all its diffing\noperations. You can use it independently of insta. You can use the\n[`similar-asserts`](https://github.com/mitsuhiko/similar-asserts) crate to get\ninline diffs for the standard `assert_eq!` macro to achieve insta like diffs\nfor regular comparisons:\n\n```rust\nuse similar_asserts::assert_eq;\n\nfn main() {\n    let reference = vec![1, 2, 3, 4];\n    assert_eq!(reference, (0..4).collect::\u003cVec\u003c_\u003e\u003e());\n}\n```\n\n## Sponsor\n\nIf you like the project and find it useful you can [become a\nsponsor](https://github.com/sponsors/mitsuhiko).\n\n## License and Links\n\n- [Project Website](https://insta.rs/)\n- [Documentation](https://docs.rs/insta/)\n- [Issue Tracker](https://github.com/mitsuhiko/insta/issues)\n- License: [Apache-2.0](https://github.com/mitsuhiko/insta/blob/master/LICENSE)\n","funding_links":["https://github.com/sponsors/mitsuhiko"],"categories":["Rust","vscode-extension","Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitsuhiko%2Finsta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitsuhiko%2Finsta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitsuhiko%2Finsta/lists"}