Releases: fixie/fixie
XML Output Matches NUnit 2.6.4
Before this release, the XML output produced by the --NUnitXml command line argument only satisfied an older version of the NUnit XSD. Although that output worked under many CI tools, it could fail under a CI tool that started by enforcing the latest XSD. This release brings the XML output up to match the output of the latest stable NUnit release (2.6.4).
This release also includes a minor enhancement to the behavior of the right click context menu when using the Visual Studio runner in the presence of an overloaded test method. Note that Visual Studio itself is severely limited in this scenario, so we do the same thing that the other major frameworks do: run all overloads when right clicking on any one of them.
Bugs Fixed
Support Multiple Skip Rules
Bugs Fixed
- #112 When a convention attempts to set more than one Skip rule, only the the last one is ever applied.
- #114 Test case names poorly handle unicode (ಠ_ಠ) and fail to escape special characters in char literals.
- ce110e6 XML output of test case durations respects the XML Schema spec's requirement of using a "." as the decimal separator, regardless of locale.
- #90 and #100 Fixie's self-tests would fail on non-en locales.
Samples
#107 Added an MbUnit style sample convention.
Visual Studio Runner Properly Displays Skipped Tests
#110 Previously, skipped tests were correctly discovered, correctly included in Test Explorer's list of test cases, and correctly not executed. However, they would appear as a green/passing test. They are now properly categorized as Not Run.
The sample convention mimicking NUnit's [Explicit] attribute has been updated to work as a Skip rule rather than a method-discovery rule, so that users of Visual Studio Test Explorer can actually select such a test case to execute it on demand.
Visual Studio Runner Supports Roslyn-Compiled Tests
#98 Prior to this release, the Visual Studio runner could fail during test line number discovery if the developer was compiling with the "Roslyn" C# compiler and also used 'dynamic' within their test code. This was due to an issue within the Mono.Cecil dependency. The fix was to simply update to the latest build of Mono.Cecil.
#103 Switched to the new style of NuGet's Automatic Package Restore.
#99 Added sample convention which mimics NUnit's [Values(...)] parameter attribute behavior.
64/32 Bit Support
Prior to this release, there was a single console runner, Fixie.Console.exe. Although it was intended to work for Any CPU, it had the "Prefer 32 bit" flag set. So, even when running on 64 bit hardware, it would fail to load a system under test that explicitly targeted 64 bit.
With this release, Fixie.Console.exe no longer prefers 32 bit. An alternate runner, Fixie.Console.x86.exe, is now available for the less common situation of needing to load a system under test that explicitly targets 32 bit. This model mirrors NUnit's support for Any/64 with the default exe, and 32 with an alternate x86 exe.
Test Runner Enhancements
This release includes a number of usability enhancements affecting the TestDriven.NET runner, TeamCity runner, Visual Studio runner, as well as providing third party runner authors with better run-time advice to avoid common mistakes.
- Reports the skipped test Skip Reason to TeamCity (just like NUnit does), though it appears TeamCity doesn't yet make use of this information.
- Reports the skipped test Skip Reason to TestDriven.NET, which can be seen in the Task List populated by TestDriven.NET.
- When invoking a test class's Dispose( ) method (for test class tear down operations) directly via TestDriven.NET, you would previously get confusing behavior as the Dispose( ) method is not a test method. TestDriven.NET would bypass Fixie and run the method with its own "Ad-Hoc" runner, providing confusing output. Now, this undesirable behavior is suppressed and the user is instead informed that "Dispose() is not a test".
- #87 When targeting a class with TestDriven.NET, it and all nested test classes are considered for execution.
- #88 Simplify the pattern to properly manage MarshalByRefObjectLifetimes (primarily for implementations of Listener provided by third-party runners).
- #89 Report Test Method Line Numbers to Visual Studio Test Adapter