Today, we're shipping xUnit.net 2.1. This includes 2.1 RTM builds of the core framework and the Visual Studio runner.
It has been approximately 6 months since we shipped 2.0. Since that release was a ground-up rewrite, we spent the intervening time listening to developer feedback, improving the core framework as well as adding features that we weren't able to get into 2.0.
The DNX runner continues to remain in beta, tracking individual releases of the
DNX framework; we expect that it will reach RTM when DNX does, early in 2016.
Today's release includes a refreshed DNX runner Beta 5 build
(2.1.0-beta5a-build188
) which is linked against xUnit.net 2.1 RTM.
Once again, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code contributions. With this release including new support for Universal Windows Applications, we leaned heavily again on Oren Novotny and the team at Microsoft responsible for the Universal Windows tooling.
App.config
) was part of the 2.0
release, but only available to desktop unit tests. Configuration in 2.1
now includes JSON support, and is available on all platforms (assuming
that the runner correctly reads and obeys the configuration file, of
course). For more information, see
Configuration FilesIAsyncLifetime
interface, which can be implemented
by test classes and fixture classes to get asynchronous lifetime support
(creation and disposal). This should make writing asynchronous setup and
teardown code much simpler, because developers can use the async
keyword.
[ClassData]
attribute has be brought back.BeforeAfterTestAttribute
can now
be decorated onto test collection definition classes, and will be run for
all tests in the test collection.
AssemblyRunner
class was added to the runner utility
libraries, that makes it substantially simpler for users who want to
leverage xUnit.net to do non-testing activities (for example, to write
a Best Practices Analyzer). Sample code:
https://github.com/xunit/samples.xunit/blob/main/TestRunner/Program.cs
xunit.execution.*.dll
) that shipped in
2.0 were consolidated down in two: xunit.execution.desktop.dll
(for desktop usage, including AppDomain support) and
xunit.execution.dotnet.dll
(for all other usage, including
DNX, Windows, Windows Phone, Android, and iOS). By reducing the execution
library count from 7 to 2, it makes it simpler for developers to provide
extensions to the testing framework.
xunit.runner.utility.*.dll
) were
also reduced down to two: xunit.runner.utility.desktop.dll
(which can run all tests) and xunit.runner.utility.dotnet.dll
(which can run tests linked again xunit.execution.dotnet.dll
).
Since the runner libraries are intended to be backward compatible, they
can run tests written against xUnit.net 1.9.2 and 2.0.
The following individual releases contributed to 2.1: