Verify
Verify is a C# snapshot testing library that serializes test results to files and compares them on subsequent runs, automating assertions for complex objects and documents. It integrates with major .NET test frameworks (NUnit, xUnit, MSTest, Fixie, TUnit, Expecto) and provides workflow tools for accepting or rejecting snapshot changes.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | VerifyTests/Verify |
| Owner | VerifyTests |
| Primary language | C# |
| License | MIT — OSI-approved |
| Stars | 3.5k |
| Forks | 184 |
| Open issues | 5 |
| Latest release | 31.21.0 (2026-07-06) |
| Last updated | 2026-07-08 |
| Source | https://github.com/VerifyTests/Verify |
What Verify is
Verify captures test outputs as serialized snapshots (files matching test names), then performs file-based diffs on re-execution. It supports net462–net10 runtimes, offers integrations with ReSharper/Rider, diff tools, and terminal utilities, and uses MIT licensing. The project includes planned commercial licensing for official binary releases by commercial organizations starting August 2026.
Get the Verify source
Clone the repository and explore it locally.
git clone https://github.com/VerifyTests/Verify.gitcd Verify# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires ImplicitUsings enabled in C# project files; older projects must use full Verifier.Verify() namespace paths.
- Snapshot file acceptance can be automated (via scripts, CLI tools, IDE plugins) or manual; choose a workflow that fits your code review process.
- Supported runtimes range from net462 to net10; verify your target framework is listed before adoption.
- Test framework selection is binding: NUnit, xUnit, MSTest, Fixie, TUnit, or Expecto; mismatched or custom frameworks require custom integration.
- Snapshot diffs depend on installed diff tools (Beyond Compare, WinMerge, etc.); some CI/CD environments may lack GUI diff viewers, requiring terminal or programmatic acceptance.
When to avoid it — and what to weigh
- Brittle snapshot-driven testing — If your team frequently has unplanned snapshot changes, you risk approving invalid snapshots by mistake or burning time on diff reviews. Snapshot testing requires discipline.
- Strict, immutable test artifacts — Snapshot files stored in git require careful review workflows. Large binary snapshots or snapshots that change for formatting reasons (not logic) can clutter repositories.
- Performance-critical test suites — Snapshot serialization and disk I/O add overhead; unsuitable if you need microsecond-level test performance or run thousands of tests in tight CI loops.
- Non-.NET or legacy ecosystems — Verify is C#-only. No support for .NET Framework prior to net462 or non-Microsoft runtimes beyond .NET Core equivalents.
License & commercial use
MIT License (permissive). Source code remains open and free indefinitely. **Important caveat: Official binary releases will require a small subscription fee (from $10/month starting August 2026) for commercial organizations and government agencies.** Individuals, non-revenue organizations, CI, forks, and local development remain unaffected. Verify the license discussion (issue #1731) for clarification before commercial adoption.
**Caution.** While the source is MIT-licensed, the project maintainers have announced a commercial licensing model for official binary releases starting August 2026. Commercial organizations and government agencies using official NuGet packages will be asked to pay a subscription fee. Requires review of the official proposal and your organization's policies on open-source commercial licensing before production adoption. Building from source avoids the fee but introduces maintenance overhead.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Needs review |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
Snapshot testing does not inherently introduce security risks, but snapshots stored in git can expose sensitive data (PII, credentials, API keys) if not filtered. Establish a policy to sanitize or exclude snapshots containing secrets. No mention of security audits or vulnerability disclosure process in provided data; check GitHub security advisories independently.
Alternatives to consider
Approved.NET (approval testing library)
Similar snapshot/approval workflow; smaller footprint; language-agnostic philosophy. Less IDE integration but simpler for teams avoiding heavy tooling.
FluentAssertions
Fluent assertion syntax with strong object comparison; no file-based snapshots but better for explicit, version-controlled assertions in code.
Shouldly
Readable assertion syntax with stack-trace enhancement; lightweight; no snapshot overhead; better for teams preferring inline, maintainable assertions.
Build on Verify with DEV.co software developers
Review the snapshot acceptance workflows, test framework compatibility, and upcoming commercial licensing terms before adopting Verify in production. Consider your team's code review discipline and CI/CD pipeline constraints.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
Verify FAQ
Will the MIT license continue to apply after August 2026?
Can I use Verify in a CI/CD pipeline without a GUI diff tool?
Does Verify work with .NET Framework?
What happens if I approve a snapshot by mistake?
Software developers & web developers for hire
Adopting Verify is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source testing software in production.
Evaluate Verify for Your .NET Testing
Review the snapshot acceptance workflows, test framework compatibility, and upcoming commercial licensing terms before adopting Verify in production. Consider your team's code review discipline and CI/CD pipeline constraints.