Bump NUnit from 3.10.1 to 3.13.2
Bumps NUnit from 3.10.1 to 3.13.2.
Release notes
Sourced from NUnit's releases.
NUnit 3.13.2
This release fixes a new issue with the
FixtureLifeCycleattribute whereIDisposabletest fixtures were not being disposed properly. As always,@gleb-osokinhas been a great help with this new feature.It also fixes a long-standing performance issue with
CollectionAssert.AreEquivalentand theCollectionEquivalentConstraintwhen comparing large collections. The deep comparison that NUnit performs on the two collections will always have a worst case bound of O(n^2) but we have optimized it so that the majority of use cases will be closer to O(n).We've also made significant optimizations to the OR filters for selecting tests using their full name. This dramatically improves test performance for large code bases that use
dotnet test. Thanks to@pakrymfor his help with this.For more information, please see the complete Framework Release Notes
NUnit 3.13.1
This release addresses several misses with the new
FixtureLifeCycleattribute, switches to using SourceLink and NuGet snupkg packages for debugging into NUnit from your unit tests. It also addresses issues with the time format of ignored and explicit tests in the test results file.For more information, please see the complete Framework Release Notes
NUnit 3.13
The
FixtureLifeCycleattribute has been added to indicate that an instance for a test fixture or all test fixtures in an assembly should be constructed for each test within the fixture or assembly.This attribute may be applied to a test fixture (class) or to a test assembly. It is useful in combination with the Parallelizable Attribute so that a new instance of a test fixture is constructed for every test within the test fixture. This allows tests to run in isolation without sharing instance fields and properties during parallel test runs. This makes running parallel tests easier because it is easier to make your tests thread-safe.
This release also fixes several issues running tests in .NET 5.0. If your tests target .NET 5.0, we recommend updating to this release.
For more information, please see the complete Framework Release Notes
NUnit 3.12
This release of NUnit finally drops support for .NET 2.0. If your application still targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate to at least .NET Framework 3.5 SP1 for security and performance fixes.
This release dramatically improves NUnit support for async tests including returning ValueTask and custom tasks from tests, improved handling of SynchronizationContexts and better exception handling.
The .NET Standard 2.0 version of NUnit continues to gain more functionality that is found in the .NET 4.5 version of the framework like setting the ApartmentState and enabling Timeout on tests.
NUnit 3.11
- More informative assertion messages
- PlatformAttribute is available on .NET Standard 2.0 and now detects .NET Core
- ValuesAttribute now works with nullable types
- Async tests detecting and running Windows Forms or WPF message pumps rather than deadlocking
- Support for UWP 10.0 is back via .NET Standard 1.4
Changelog
Sourced from NUnit's changelog.
NUnit 3.13.2 - April 27, 2021
This release fixes a new issue with the
FixtureLifeCycleattribute whereIDisposabletest fixtures were not being disposed properly. As always,@gleb-osokinhas been a great help with this new feature.It also fixes a long-standing performance issue with
CollectionAssert.AreEquivalentand theCollectionEquivalentConstraintwhen comparing large collections. The deep comparison that NUnit performs on the two collections will always have a worst case bound of O(n^2) but we have optimized it so that the majority of use cases will be closer to O(n).We've also made significant optimizations to the OR filters for selecting tests using their full name. This dramatically improves test performance for large code bases that use
dotnet test. Thanks to@pakrymfor his help with this.Issues Resolved
- 2799 CollectionAssert.AreEquivalent is extremely slow
- 3589 File headers, copyrights, and licenses
- 3773 IDisposable not working with InstancePerTestCase
- 3779 Obsolete AreEqual methods with nullable numeric arguments for 3.13
- 3784 Build the v3.13-dev branch
- 3786 NUnit with dotnet test results in O(n^2) filtering complexity
- 3810 Enable deterministic build
- 3818 AppVeyor failing to build v3.13-dev branch PRs
- 3832 Deploy v3.13-dev branch builds to MyGet
NUnit 3.13.1 - January 31, 2021
This release addresses several misses with the new
FixtureLifeCycleattribute, switches to using SourceLink and NuGet snupkg packages for debugging into NUnit from your unit tests. It also addresses issues with the time format of ignored and explicit tests in the test results file.Issues Resolved
- 2339 Wrong date format in Ignored TestFixtures
- 3715 FixtureLifeCycle(LifeCycle.InstancePerTestCase) Not working with TestFixtureSource
- 3716 Assembly level FixtureLifeCycle(LifeCycle.InstancePerTestCase) doesn't work
- 3724 Test start and end time should end with Z
- 3726 Assert EqualTo().Within().Seconds does not work with DateTimes in NUnit 3.13
- 3729 AppVeyor builds failing
- 3736 AreEqual.Within throws on failure with non-numeric types
- 3743 Parametrized tests do not respect FixtureLifeCycle.InstancePerTestCase
- 3745 After upgrading to NUnit 3.13.0 the debugger enters NUnit code despite having checked "Enable Just My Code"
NUnit 3.13 - January 7, 2021
The
FixtureLifeCycleattribute has been added to indicate that an instance for a test fixture or all test fixtures in an assembly should be constructed for each test within the fixture or assembly.This attribute may be applied to a test fixture (class) or to a test assembly. It is useful in combination with the Parallelizable Attribute so that a new instance of a test fixture is constructed for every test within the test fixture. This allows tests to run in isolation without sharing instance fields and properties during parallel test runs. This make running parallel tests easier because it is easier to make your tests thread safe.
This release also fixes several issues running tests in .NET 5.0. If your tests target .NET 5.0, we recommend updating to this release.
Issues Resolved
- 34 Async testing with F#
- 52 Self-contained item in array causes stack overflow
- 1394 Has.Property cannot see explicit interface implementation properties
- 1491 Add a CLA to the project
... (truncated)
Commits
5631b49Merge pull request #3838 from nunit/release313218ef24aFix formattingf7c9845Update changes for 3.13.2 release3606fecMerge pull request #3837 from nunit/backport/27998008b54Remove types from test that are not supported in .NET 3.5fbae851Update src/NUnitFramework/framework/Constraints/CollectionTally.cs0384ca6Update src/NUnitFramework/framework/Constraints/CollectionTally.cs6ec32c7Update src/NUnitFramework/tests/Constraints/CollectionEquivalentConstraintTes...c3814ffAdd support for StringCollectiondf63dbaPerformance improvements comparing equivalence of large collections- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language -
@dependabot badge mewill comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)