All notable changes to the Snapper project.
2.4.1 - 2023-12-30
- Introduces the ability to update snapshots via Custom snapshot settings. This solves Issue #104. Thanks to @ptjhuang for the contribution!
2.4.0 - 2022-12-10
- Custom snapshot settings! This feature provides you with more control of your snapshots! See here for more details!
- This also fixes/solves the following issues: Issue #100, Issue #93, Issue #84, Issue #83 and Issue #79
- Updated CI environment detection to detect more CI tools.
- Issue #98 Removed support for .NET Framework 4.5. .NET 45 has reached end of life by microsoft and is no longer supported. See here
- The experimental feature called "Advanced snapshot file control" has been removed. This has been replaced by the custom snapshot settings which has been added as part of this release.
2.3.2 - 2022-05-17
- Issue #89 PR #90 Fix newtonsoft corrupting dates when using Snapshots per class or child snapshots. Thanks to @albertomartinsanchez for surfacing the issue.
2.3.1 - 2021-12-06
- PR #86 Added support for NUnit
TestCase
andTestCaseSource
attributes. Thanks to @jaytulk for the contribution.
2.3.0 - 2021-01-11
- Issue #69 PR #71 Snapshots are now automatically generated on the first test run if the snapshot file does not exist.
- Issue #57 PR #72 Introduced
Matches.Snapshot()
andMatches.ChildSnapshot()
toSnapper.Nunit
nuget package. Thanks to @lilasquared for the contribution.
- Issue #57 PR #72 Deprecated
Snapper.Nunit.Is.EqualToSnapshot()
inSnapper.Nunit
. This will be removed in Snapper V3. Thanks to @lilasquared for the contribution.
2.2.4 - 2020-03-16
- PR #60 Experimental Feature: Advanced snapshot file control! Get more control over how and where the snapshot file is created. See here for more details. Fixes the following issues: #30 #48 #24.
- PR #58
Snapper
can now detect the Azure DevOps CI Environment. Thanks to @WarrenFerrell for the contribution.
2.2.3 - 2020-02-15
- Issue #53 PR #55 Use JObjectHelper when storing snapshots. Thanks to @ViceIce for surfacing the issue.
2.2.2 - 2020-02-01
- Issue #50 PR #51 Fixed parsing of metadata properties so that they are treated as string by NewtonSoft. Thanks to @ViceIce for surfacing the issue.
- Detection of an CI environment now checks for environment variables at the
Machine
,Process
andUser
level. Previously it only checked at theProcess
level.
2.2.1 - 2020-01-14
- Issue #44 PR #45 Fixed parsing of datetime strings so that they are treated as string by NewtonSoft. Thanks to @plitwinski for surfacing the issue.
2.2.0 - 2019-11-01
- PR #31
Snapper
now supports the MSTest framework. Thanks to @tskimmett for the contribution.
- PR #29 Fixed a broken link to the FAQS page. Thanks to @tomasbruckner for the fix.
2.1.0 - 2019-10-12
- Added the ability detect test methods when a test framework attribute is one of the parents of the attribute applied.
2.0.1 - 2019-09-11
- Issue #27 Handled
System.NotImplementedException
when trying to determine which the calling test method.
2.0.0 - 2019-08-14
The following Nuget packages are deprecated. Bugs will still be fixed but no new features will be implemented in them.
Snapper.Core
Snapper.Json
Snapper.Json.Xunit
Snapper.Json.Nunit
- Introduced
Snapper
as the main nuget package. It provides all the functionality ofSnapper.Json
+Snapper.Json.Xunit
as well as basic support forNUnit
. - Introduced
Snapper.Nunit
to provide extraNUnit
specific features to Snapper. This package extendsNUnit's
constraints to match the functionality provided by deprecated packageSnapper.Json.Nunit
.
- Matching a snapshot previously created a json file based on the method name of the test. In V2 the json file is based on this format
{className}_{methodName}.json
. - Matching a snapshot and passing in a snapshot name has been removed. A similar method has been introduced for having child snapshots. Useful for theory type tests.
- Child snapshots! Child snapshots are a nice new way of creating snapshots for theory tests.
- Inline snapshots! Sometimes snapshots are small and it's not worth making a json file. Inline snapshots allow you to provide an object/string/json string which it can use as the snapshot.
- You can now use any object for snapshots. Previously an object that could not be converted into a JToken caused an exception. Now Snapper sanitises these objects so that they can be used in snapshots.
2.0.0-beta3 - 2019-05-26
- Updated
Snapper
andSnapper.Nunit
to upload symbols to nuget symbols server
2.0.0-beta2 - 2019-05-26
- Updated
Snapper
andSnapper.Nunit
to be strong named - Updated
Snapper
andSnapper.Nunit
to have sourcelink enabled
2.0.0-beta - 2019-05-11
The following Nuget packages are deprecated. Bugs will still be fixed but no new features will be implemented in them.
Snapper.Core
Snapper.Json
Snapper.Json.Xunit
Snapper.Json.Nunit
- Introduced
Snapper
as the main nuget package. It provides all the functionality ofSnapper.Json
+Snapper.Json.Xunit
as well as basic support forNUnit
. - Introduced
Snapper.Nunit
to provide extraNUnit
specific features to Snapper. This package extendsNUnit's
constraints to match the functionality provided by deprecated packageSnapper.Json.Nunit
.
- Matching a snapshot previously created a json file based on the method name of the test. In V2 the json file is based on this format
{className}_{methodName}.json
. - Matching a snapshot and passing in a snapshot name has been removed. A similar method has been introduced for having child snapshots. Useful for theory type tests.
- Child snapshots! Child snapshots are a nice new way of creating snapshots for theory tests.
- Inline snapshots! Sometimes snapshots are small and it's not worth making a json file. Inline snapshots allow you to provide an object/string/json string which it can use as the snapshot.
- You can now use any object for snapshots. Previously an object that could not be converted into a JToken caused an exception. Now Snapper sanitises these objects so that they can be used in snapshots.
1.4.0 - 2019-05-11
- Added support for
.NET 45
This will also be the final V1 version of Snapper.
1.3.1 - 2019-01-19
- Downgraded
NUnit
dependency inSnapper.Json.Nunit
to3.6.0
1.3.0 - 2019-01-19
- Issue #3 Introduced support for NUnit via the
Snapper.Json.Nunit
nuget package. Thanks to @fgather for the contribution.
1.2.0 - 2018-6-5
- Renamed
UpdateTestSnapshot
inSnapper.Json.Xunit
toUpdateSnapshots
. - Updated
UpdateSnapshots
to be useable on methods and classes.
1.1.1 - 2018-4-2
- Downgraded
xunit.extensibility.core
inSnapper.Json.Xunit
to2.3.0
1.1.0 - 2018-4-2
- Replace dependency on
xunit.assert.source
withxunit.assert
inSnapper.Json.Xunit
. - Use
XUnitSnapper.MatchSnapshot()
to assert snapshots while usingSnapper.Json.Xunit
.
1.0.1 - 2018-3-19
- Added
.netstandard 2
target toSnapper.Json
1.0.0 - 2018-3-17
The first stable release!
- Snapper.Core: Basic snapshot functionality. Stores snapshots in bytes. Use for extending Snapper.
- Snapper.Json: Extends Snapper.Core to provide storing snapshots in Json format
- Snapper.Json.Xunit: Extends Snapper.Json and integrates with the XUnit testing framework.