{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/5"}],"enrichment":{"capability":"Snapshot testing library that captures API responses or other serializable outputs and compares them against stored reference snapshots, supporting pytest, unittest, Django, and nose test runners.","skillfed_tags":["testing","regression-testing","api-testing"],"use_cases":["Testing REST API endpoints by capturing and comparing full JSON responses without hand-writing field assertions","Regression testing UI component serialization or GraphQL query results across code changes","Validating complex nested data structures where manual assertion would be tedious and brittle","Bulk-updating test expectations after intentional API schema changes using --snapshot-update","Documenting expected API behavior by reviewing snapshot diffs in version control"],"what_it_does":"Snapshot testing lets you capture the state of an API response or other serializable output once, store it as a reference file, and then automatically compare future test runs against that snapshot. Instead of writing explicit assertions for every field in a response, you assert that the output matches the saved snapshot; if it changes, the test fails and you can review the diff to decide whether the change is expected (and update the snapshot) or a regression.\n\nThe package integrates with pytest, unittest, Django, and nose, so it fits into existing test suites. It depends on six, termcolor, and fastdiff to handle cross-version compatibility, colored diff output, and efficient comparison. The workflow is: write a test that calls your API, call snapshot.assert_match() or self.assertMatchSnapshot(), and on first run it saves the response; on subsequent runs it compares. You can update snapshots in bulk with a command-line flag when changes are intentional.","worth_installing":"Yes, with caution on maintenance. Snapshot testing is a proven pattern and this package is stable and widely used. However, it has been dormant since 2020-09-29 with no recent commits\u2014if you need active maintenance, bug fixes, or support for cutting-edge test frameworks, consider whether a more actively maintained alternative fits your timeline. For established projects with stable test suites, it remains a solid choice."},"id":"snapshottest","links":{"html":"https://skillfed.io/packages/snapshottest","md":"https://skillfed.io/packages/snapshottest.md","pypi":"https://pypi.org/project/snapshottest/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2020-09-29","license_spdx":null,"license_treatment":"permissive","name":"snapshottest","python_support":"unspecified","summary":"Snapshot testing for pytest, unittest, Django, and Nose"},"popularity":{"monthly_downloads":488476,"position":6380,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.6.0"}
