Rider 2025.1, MSTest v3.8, More fixes

by Remco 10. April 2025 13:23

NCrunch v5.13 is now available.  This release is actually quite a big one in terms of the sheer volume of fixes and compatibility improvements.

 

JetBrains Rider 2025.1 Support

V5.13 introduces support for the newest version of Rider, and is timed to be released at more or less the same time (while writing this, 2025.1 has just hit RC state and RTM is likely only hours away).  There were a few changes in 2025.1 that required adjustments in NCrunch, so v5.13 will not be able to run on versions prior to 2025.1 and v5.12 is incompatible.  As usual, this means that the version of NCrunch you have installed needs to be aligned with the version of Rider you are using.

 

MSTest v3.8 Support

The recently released MSTest v3.8 introduced a number of improvements to MSTest, particularly around dynamic data tests.  Of note also is the introduction of RetryAttribute, which can be used to force the runner to retry a test a number of times to suppress intermittent behaviour.

NCrunch's support for MSTest is emulated rather than integrated.  This means that when new features are introduced in MSTest, NCrunch needs to have the same features added to its emulator before they become available for use.  The reason for this is largely historical.  Early versions of MSTest were so difficult to integrate with that it proved much simpler to just reproduce its most commonly used features inside an adapter that was better tuned to NCrunch's architecture.  This approach has proven a wise choice over the multiple rewrites MSTest has undergone over the last 15 years, in which surgical changes to the adapter were easier than building a whole new one every few years.  It also provides more opportunity for performance optimisation.

The downside is that NCrunch's emulator is not 100% aligned with the standard MSTest runners, so you might notice some small differences, particularly around edge cases.  It also hasn't proven to be practical to implement all features of MSTest, since many of these don't seem to be widely used and some are very expensive to fully align with (such as coded UI tests and data driven tests).

Anyway, V5.13 introduces support for a number of the headline features in MSTest v3.8, more specifically:

  • DataRow tests using generics
  • TestDataRow-enabled dynamic data tests
  • Ignore attributes on data rows
  • Auto-detection of property vs method based dynamic data tests
  • RetryAttribute

Note that support for RetryAttribute does not extend to custom implementations of this attribute.  I do also recommend using NCrunch's RDI and Churn Mode on tests that intermittently fail to try and stabilise them properly before considering the use of this attribute, as using it extensively can significantly increase the time taken to run tests.

 

Support for .SLNX Files

It's great to see the old .sln solution files getting cleaned up, and I'm happy to say that NCrunch now supports the new (and much cleaner) .slnx files.  I expect that these files will become more widespread as the overall .NET toolset expands to support them better.

 

More Fixes and Improvements

As is typical with every release, v5.13 brings a range of general fixes and improvements.  I had hoped that it would be possible to remove the 'BETA' tag for Rider support in this release, but I feel that we aren't quite there yet (though we're getting close!).

See here for the full list of changes.

Tags:

Please log in if you would like to post a comment

Month List

RecentPosts

Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download