This is the sixth episode of our series of JetBrains' OSS Power-Ups, where they put a spotlight on open-source .NET projects. Verify is a snapshot tool that enables the assertion of complex data models and documents. Integrating with major test frameworks like xUnit, NUnit, and MSTest, it is called on test results during the assertion phase. Verify serializes the results and stores them so-called snapshot files that match the test name. On the next test execution, the new results are compared to the previously accepted snapshots. Tests will fail if the two snapshots do not match: either the change is unexpected, or the reference snapshot needs to be updated to the new result. Utilities are provided to streamline compatibility with a variety of libraries and technologies including Blazor, SQL Server, EntityFramework, and ASP.NET Core. One more surprise utility will be revealed during our webinar!
Agenda:
0:00 Introduction
5:00 Meet Simon
16:08 Introduction to Verify
18:26 Snapshot-Testing for WPF Applications
28:10 Diff Tools
29:34 Accepting Received Snapshots via Clipboard
33:09 Accepting/Managing Snapshots via DiffEngineTray
44:11 Details about WPF Snapshot-Testing
55:33 Snapshot-Testing for Data Structures
1:01:30 Scrubbers & Serialization Modification
1:15:25 Verify Support Plugin for ReSharper and Rider
1:21:54 Snapshot-Testing for Webpages (Multiple Files)
1:27:42 Parameterized Snapshot-Testing
1:30:37 Questions & Answers
1:36:36 OSS PowerUps Landing Page
Resources:
Verify on GitHub: https://github.com/VerifyTests/Verify
Verify.Samples on GitHub: https://github.com/VerifyTests/Verify.Sample
Verify Support for Rider: https://plugins.jetbrains.com/plugin/17240-verify-support
Verify Support for ReSharper: https://plugins.jetbrains.com/plugin/17241-verify-support
About the Presenter:
Simon Cropp is a software developer and part-time hacker. He maintains and contributes heavily to many and varied open-source projects. He strongly believes in the open-source ethos of "Paying it forward". You can reach him on Twitter through https://twitter.com/SimonCropp