@bradwilson bradwilson released this May 1, 2014 · 1042 commits to master since this release

Assets 2

Release notes for v2 Beta 2

New features for test authors:

  • PCL support updated to Profile259, which supports:
    • Desktop .NET 4.5+
    • Modern Windows 8+
    • Windows Phone 8+ (Silverlight)
    • Windows Phone 8.1+ (Universal)
  • New Assertions:
    • ThrowsAny (allows derived types)
    • NotEqual (with precision for decimal and double)
    • StrictEqual, StrictNotEqual (uses EqualityComparer<T>.Default)
    • StartsWith, EndsWith (for strings)
    • Matches, DoesNotMatch (for regular expressions)
    • Subset, ProperSubset, Superset, ProperSuperset (for ISet<T>)
  • Improved theory parameter display
    • Strings are limited to 50 characters
    • Type arguments show as typeof(T)
    • Enumerable collections show first five values
    • Complex objects show first public public properties/fields
    • Complex objects show up to three levels of depth

New features for runner authors:

  • Added an execution option to use synchronous message reporting
  • Added ITestCase.Arguments
  • Made message classes public
  • Made MaxConcurrencyTaskScheduler public
  • Did a bunch of work around extensibility points (see the breaking changes list)

Bug fixes:

  • Fixed a NullRef when trying to use trait discoverers when using source-based discovery
  • Fixed an issue with [CollectionBehavior(CollectionBehavior.CollectionPerClass)]
  • Fixed an issue with the Visual Studio runner running tests in the same class in parallel
  • Fixed an issue with the console runner not restoring the original text color
  • Fixed an issue where extensibility point classes weren't being disposed
  • Fix bugs around support running v1 tests
  • Performance & memory usage improvements

Breaking changes from Beta 1:

  • Renamed IXunitDiscoverer to IXunitTestCaseDiscoverer
  • Renamed TestCaseDiscovererAttribute to XunitTestCaseDiscovererAttribute
  • Renamed ITestFrameworkExecutor.Run to .RunAll and .RunTests
  • Made ITestCaseOrderer.OrderTestCases generic (to preserve the test case type)
  • Made ITestCase.SourceInformation settable
  • Made IXunitTestCase.RunAsync return Task<RunSummary> instead of Task
  • Introduced new base classes (with generalized behavior) for:
    • TestFramework (and XunitTestFramework)
    • TestFrameworkDiscoverer (and XunitTestFrameworkDiscoverer)
    • TestFrameworkExecutor (and XunitTestFrameworkExecutor)
  • Split most of the behavior from XunitTestCaseExecutor into a series of runner classes:
    • TestAssemblyRunner (and XunitTestAssemblyRunner)
    • TestCollectionRunner (and XunitTestCollectionRunner)
    • TestClassRunner (and XunitTestClassRunner)
    • TestMethodRunner (and XunitTestMethodRunner)


Thank you to the community contributors that made this release possible:

And everybody who reported feature requests and bugs!