Fixie v3.0.0-beta.1 Release Notes

Release Date: 2020-11-14 // 12 months ago

Previous changes from v2.2.1

  • ๐Ÿš€ The previous release supported .NET Core 3 test projects for most use cases, but as a happy coincidence. No action had to be taken in Fixie's implementation, as the existing support for .NET Core 2 carried forward naturally.

    ๐Ÿ‘ Fixie 2.2.1 includes official support for such test projects. However, because netcoreapp3.0 has already reached End-of-Life, netcoreapp3.0 is not supported. As a Long-Term-Support release, netcoreapp3.1+ is supported. If you need to target netcoreapp3.0, we recommend sticking with Fixie 2.2.0 until you can upgrade to a target framework supported by Microsoft.

    โœจ Enhancements for .NET Core Test Projects:

    • ๐Ÿ‘Œ Improved readability of test failure stack traces for netcoreapp2.1+.
    • ๐ŸŽ When consumers target netcoreapp3.1+, internal messaging serialization uses System.Text.Json.JsonSerializer instead of the deprecated DataContractJsonSerializer, for its simpler API and improved performance.
    • ๐ŸŽ Update VS Test Platform dependencies to take advantage of their performance improvements.
    • ๐Ÿ›  Fixed the ability to run tests under the debugger in Visual Studio's Test Explorer for netcoreapp3.1+ test projects.

    โœจ Enhancements when running on Azure DevOps:

    AzureDevOps

    • โœ… When a test assembly completes, the test run as a whole is marked as completed. Doing so lights up several elements in the Azure DevOps "Tests" screen: assembly-level success/failure icons, assembly-level durations, and high-level statistics.
    • โœ… When posting skipped test results to Azure DevOps, use the 'outcome' value 'Warning'. This allows the Azure DevOps UI to properly categorize the result, to display a warning icon by the result, and to pass through the skip reason as a visible message. Don't skip tests.
    • ๐Ÿ— #211: Improved logging and error handling around Azure DevOps API failures, allowing test runs to complete with full details in the build log and an accurate exit code even when the Azure DevOps API fails completely.

    Other Enhancements:

    • โœ… Because AppVeyor relies on test case name + the assembly FileName to distinguish unique results, include the target framework in that FileName. This way, test results are correctly distinguished from each other during test runs of multitargeted test assemblies.
    • ๐Ÿ“ฆ Modernize deprecated elements in NuGet packages.