CHANGES.txt 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924
  1. NUnit 3.0.1 - December 1, 2015
  2. Console Runner
  3. * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package
  4. * Reinstated the --pause command line option that will display a message box allowing you to attach a debugger if the --debug option does not work
  5. Issues Resolved
  6. * 994 Add max number of Agents to the NUnit project file
  7. * 1014 Ensure NUnit API assembly updates with MSI installs
  8. * 1024 Added --pause flag to console runner
  9. * 1030 Update Nunit.Runners package to 3.0
  10. * 1033 "No arguments were provided" with Theory and Values combination
  11. * 1035 Check null arguments
  12. * 1037 Async tests not working on Windows 10 Universal
  13. * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails
  14. * 1042 NUnit2 reports on 3.0 is different than 2.6.4
  15. * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException
  16. * 1049 Cannot select Generic tests from command line
  17. * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public
  18. * 1054 Create nuget feeds for CI builds on Appveyor
  19. * 1055 nunit3 console runner --where option does not return error on invalid selection string
  20. * 1060 Remove "Version 3" from NUnit Nuget Package
  21. * 1061 Nunit30Settings.xml becomes corrupted
  22. * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner
  23. * 1063 Error in Random Test
  24. NUnit 3.0.0 Final Release - November 15, 2015
  25. Issues Resolved
  26. * 635 Mono 4.0 Support
  27. NUnit 3.0.0 Release Candidate 3 - November 13, 2015
  28. Engine
  29. * The engine now only sets the config file for project.nunit to project.config if project.config exists. Otherwise, each assembly uses its own config, provided it is run in a separate AppDomain by itself.
  30. NOTE: It is not possible for multiple assemblies in the same AppDomain to use different configs. This is not an NUnit limitation, it's just how configs work!
  31. Issues Resolved
  32. * 856 Extensions support for third party runners in NUnit 3.0
  33. * 1003 Delete TeamCityEventHandler as it is not used
  34. * 1015 Specifying .nunit project and --framework on command line causes crash
  35. * 1017 Remove Assert.Multiple from framework
  36. NUnit 3.0.0 Release Candidate 2 - November 8, 2015
  37. Engine
  38. * The IDriverFactory extensibility interface has been modified.
  39. Issues Resolved
  40. * 970 Define PARALLEL in CF build of nunitlite
  41. * 978 It should be possible to determine version of NUnit using nunit console tool
  42. * 983 Inconsistent return codes depending on ProcessModel
  43. * 986 Update docs for parallel execution
  44. * 988 Don't run portable tests from NUnit Console
  45. * 990 V2 driver is passing invalid filter elements to NUnit
  46. * 991 Mono.Options should not be exposed to public directly
  47. * 993 Give error message when a regex filter is used with NUnit V2
  48. * 997 Add missing XML Documentation
  49. * 1008 NUnitLite namespace not updated in the NuGet Packages
  50. NUnit 3.0.0 Release Candidate - November 1, 2015
  51. Framework
  52. * The portable build now supports ASP.NET 5 and the new Core CLR.
  53. NOTE: The `nunit3-console` runner cannot run tests that reference the portable build.
  54. You may run such tests using NUnitLite or a platform-specific runner.
  55. * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely.
  56. * The Silverlight packages are now separate downloads.
  57. NUnitLite
  58. * The NUnitLite runner now produces the same output display and XML results as the console runner.
  59. Engine
  60. * The format of the XML result file has been finalized and documented.
  61. Console Runner
  62. * The console runner program is now called `nunit3-console`.
  63. * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling.
  64. Issues Resolved
  65. * 59 Length of generated test names should be limited
  66. * 68 Customization of test case name generation
  67. * 404 Split tests between nunitlite.runner and nunit.framework
  68. * 575 Add support for ASP.NET 5 and the new Core CLR
  69. * 783 Package separately for Silverlight
  70. * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers
  71. * 859 NUnit-Console output - move Test Run Summary to end
  72. * 867 Remove Warnings from Ignored tests
  73. * 868 Review skipped tests
  74. * 887 Move environment and settings elements to the assembly suite in the result file
  75. * 899 Colors for ColorConsole on grey background are too light
  76. * 904 InternalPreserveStackTrace is not supported on all Portable platforms
  77. * 914 Unclear error message from console runner when assembly has no tests
  78. * 916 Console runner dies when test agent dies
  79. * 918 Console runner --where parameter is case sensitive
  80. * 920 Remove addins\nunit.engine.api.dll from NuGet package
  81. * 929 Rename nunit-console.exe
  82. * 931 Remove beta warnings from NuGet packages
  83. * 936 Explicit skipped tests not displayed
  84. * 939 Installer complains about .NET even if already installed
  85. * 940 Confirm or modify list of packages for release
  86. * 947 Breaking API change in ValueSourceAttribute
  87. * 949 Update copyright in NUnit Console
  88. * 954 NUnitLite XML output is not consistent with the engine's
  89. * 955 NUnitLite does not display the where clause
  90. * 959 Restore filter options for NUnitLite portable build
  91. * 960 Intermittent failure of CategoryFilterTests
  92. * 967 Run Settings Report is not being displayed.
  93. NUnit 3.0.0 Beta 5 - October 16, 2015
  94. Framework
  95. * Parameterized test cases now support nullable arguments.
  96. * The NUnit framework may now be built for the .NET Core framework. Note that this is only available through building the source code. A binary will be available in the next release.
  97. Engine
  98. * The engine now runs multiple test assemblies in parallel by default
  99. * The output XML now includes more information about the test run, including the text of the command used, any engine settings and the filter used to select tests.
  100. * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension.
  101. Console Runner
  102. * The console now displays all settings used by the engine to run tests as well as the filter used to select tests.
  103. * The console runner accepts a new option --maxagents. If multiple assemblies are run in separate processes, this value may be used to limit the number that are executed simultaneously in parallel.
  104. * The console runner no longer accepts the --include and --exclude options. Instead, the new --where option provides a more general way to express which tests will be executed, such as --where "cat==Fast && Priority==High". See the docs for details of the syntax.
  105. * The new --debug option causes NUnit to break in the debugger immediately before tests are run. This simplifies debugging, especially when the test is run in a separate process.
  106. Issues Resolved
  107. * 41 Check for zeroes in Assert messages
  108. * 254 Finalize XML format for test results
  109. * 275 NUnitEqualityComparer fails to compare IEquatable<T> where second object is derived from T
  110. * 304 Run test Assemblies in parallel
  111. * 374 New syntax for selecting tests to be run
  112. * 515 OSPlatform.IsMacOSX doesn't work
  113. * 573 nunit-console hangs on Mac OS X after all tests have run
  114. * 669 TeamCity service message should have assembly name as a part of test name.
  115. * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute
  116. * 713 Include command information in XML
  117. * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file
  118. * 735 Workers number in xml report file cannot be found
  119. * 784 Build Portable Framework on Linux
  120. * 790 Allow Extensions to provide data through an attribute
  121. * 794 Make it easier to debug tests as well as NUnit itself
  122. * 801 NUnit calls Dispose multiple times
  123. * 814 Support nullable types with TestCase
  124. * 818 Possible error in Merge Pull Request #797
  125. * 821 Wrapped method results in loss of result information
  126. * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build
  127. * 824 Remove unused System.Reflection using statements
  128. * 826 Randomizer uniqueness tests fail randomly!
  129. * 828 Merge pull request #827 (issue 826)
  130. * 830 Add ability to report test results synchronously to test runners
  131. * 837 Enumerators not disposed when comparing IEnumerables
  132. * 840 Add missing copyright notices
  133. * 844 Pull Request #835 (Issue #814) does not build in CF
  134. * 847 Add new --process:inprocess and --inprocess options
  135. * 850 Test runner fails if test name contains invalid xml characters
  136. * 851 'Exclude' console option is not working in NUnit Lite
  137. * 853 Cannot run NUnit Console from another directory
  138. * 860 Use CDATA section for message, stack-trace and output elements of XML
  139. * 863 Eliminate core engine
  140. * 865 Intermittent failures of StopWatchTests
  141. * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX
  142. * 870 NUnit Console Runtime Environment misreports on MacOSX
  143. * 874 Add .NET Core Framework
  144. * 878 Cannot exclude MacOSX or XBox platforms when running on CF
  145. * 892 Fixed test runner returning early when executing more than one test run.
  146. * 894 Give nunit.engine and nunit.engine.api assemblies strong names
  147. * 896 NUnit 3.0 console runner not placing test result xml in --work directory
  148. NUnit 3.0.0 Beta 4 - August 25, 2015
  149. Framework
  150. * A new RetryAttribute allows retrying of failing tests.
  151. * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint.
  152. * Tests skipped due to ExplicitAttribute are now reported as skipped.
  153. Engine
  154. * We now use Cecil to examine assemblies prior to loading them.
  155. * Extensions are no longer based on Mono.Addins but use our own extension framework.
  156. Issues Resolved
  157. * 125 3rd-party dependencies should be downloaded on demand
  158. * 283 What should we do when a user extension does something bad?
  159. * 585 RetryAttribute
  160. * 642 Restructure MSBuild script
  161. * 649 Change how we zip packages
  162. * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom
  163. * 664 Invalid "id" attribute in the report for case "test started"
  164. * 685 In the some cases when tests cannot be started NUnit returns exit code "0"
  165. * 728 Missing Assert.That overload
  166. * 741 Explicit Tests get run when using --exclude
  167. * 746 Framework should send events for all tests
  168. * 747 NUnit should apply attributes even if test is non-runnable
  169. * 749 Review Use of Mono.Addins for Engine Extensibility
  170. * 750 Include Explicit Tests in Test Results
  171. * 753 Feature request: Is.SupersetOf() assertion constraint
  172. * 755 TimeOut attribute doesn't work with TestCaseSource Attribute
  173. * 757 Implement some way to wait for execution to complete in ITestEngineRunner
  174. * 760 Packaging targets do not run on Linux
  175. * 766 Added overloads for True()/False() accepting booleans
  176. * 778 Build and build.cmd scripts invoke nuget.exe improperly
  177. * 780 Teamcity fix
  178. * 782 No sources for 2.6.4
  179. NUnit 3.0.0 Beta 3 - July 15, 2015
  180. Framework
  181. * The RangeAttribute has been extended to support more data types including
  182. uint, long and ulong
  183. * Added platform support for Windows 10 and fixed issues with Windows 8 and
  184. 8.1 support
  185. * Added async support to the portable version of NUnit Framework
  186. * The named members of the TestCaseSource and ValueSource attributes must now be
  187. static.
  188. * RandomAttribute has been extended to add support for new data types including
  189. uint, long, ulong, short, ushort, float, byte and sbyte
  190. * TestContext.Random has also been extended to add support for new data types including
  191. uint, long, ulong, short, ushort, float, byte, sbyte and decimal
  192. * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly
  193. targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need
  194. to reference the NuGet package yourself.
  195. * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource
  196. but provides for instantiation of fixtures.
  197. * Significant improvements have been made in how NUnit deduces the type arguments of
  198. generic methods based on the arguments provided.
  199. Engine
  200. * If the target framework is not specified, test assemblies that are compiled
  201. to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode
  202. Console
  203. * If the console is run without arguments, it will now display help
  204. Issues Resolved
  205. * 47 Extensions to RangeAttribute
  206. * 237 System.Uri .ctor works not properly under Nunit
  207. * 244 NUnit should properly distinguish between .NET 4.0 and 4.5
  208. * 310 Target framework not specified on the AppDomain when running against .Net 4.5
  209. * 321 Rationalize how we count tests
  210. * 472 Overflow exception and DivideByZero exception from the RangeAttribute
  211. * 524 int and char do not compare correctly?
  212. * 539 Truncation of string arguments
  213. * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI
  214. * 656 Unused parameter in Console.WriteLine found
  215. * 670 Failing Tests in TeamCity Build
  216. * 673 Ensure proper disposal of engine objects
  217. * 674 Engine does not release test assemblies
  218. * 679 Windows 10 Support
  219. * 682 Add Async Support to Portable Framework
  220. * 683 Make FrameworkController available in portable build
  221. * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0)
  222. * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process
  223. * 693 Generic Test<T> Method cannot determine type arguments for fixture when passed as IEnumerable<T>
  224. * 698 Require TestCaseSource and ValueSource named members to be static
  225. * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages
  226. * 712 Extensions to RandomAttribute
  227. * 715 Provide a data source attribute at TestFixture Level
  228. * 718 RangeConstraint gives error with from and two args of differing types
  229. * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async?
  230. * 724 Adds support for Nullable<bool> to Assert.IsTrue and Assert.IsFalse
  231. * 734 Console without parameters doesn't show help
  232. NUnit 3.0.0 Beta 2 - May 12, 2015
  233. Framework
  234. * The Compact Framework version of the framework is now packaged separately
  235. and will be distributed as a ZIP file and as a NuGet package.
  236. * The NUnit 2.x RepeatAttribute was added back into the framework.
  237. * Added Throws.ArgumentNullException
  238. * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to
  239. create repeatable random strings for testing
  240. * When checking the equality of DateTimeOffset, you can now use the
  241. WithSameOffset modifier
  242. * Some classes intended for internal usage that were public for testing
  243. have now been made internal. Additional classes will be made internal
  244. for the final 3.0 release.
  245. Engine
  246. * Added a core engine which is a non-extensible, minimal engine for use by
  247. devices and similar situations where reduced functionality is compensated
  248. for by reduced size and simplicity of usage. See
  249. https://github.com/nunit/dev/wiki/Core-Engine for more information.
  250. Issues Resolved
  251. * 22 Add OSArchitecture Attribute to Environment node in result xml
  252. * 24 Assert on Dictionary Content
  253. * 48 Explicit seems to conflict with Ignore
  254. * 168 Create NUnit 3.0 documentation
  255. * 196 Compare DateTimeOffsets including the offset in the comparison
  256. * 217 New icon for the 3.0 release
  257. * 316 NUnitLite TextUI Runner
  258. * 320 No Tests found: Using parametrized Fixture and TestCaseSource
  259. * 360 Better exception message when using non-BCL class in property
  260. * 454 Rare registry configurations may cause NUnit to fail
  261. * 478 RepeatAttribute
  262. * 481 Testing multiple assemblies in nunitlite
  263. * 538 Potential bug using TestContext in constructors
  264. * 546 Enable Parallel in NUnitLite/CF (or more) builds
  265. * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner
  266. * 556 Executed tests should always return a non-zero duration
  267. * 559 Fix text of NuGet packages
  268. * 560 Fix PackageVersion property on wix install projects
  269. * 562 Program.cs in NUnitLite NuGet package is incorrect
  270. * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1
  271. * 565 NUnitLite Nuget package adds Program.cs to a VB Project
  272. * 568 Isolate packaging from building
  273. * 570 ThrowsConstraint failure message should include stack trace of actual exception
  274. * 576 Throws.ArgumentNullException would be nice
  275. * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints
  276. * 579 No documentation for recommended usage of TestCaseSourceAttribute
  277. * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver
  278. * 582 Test Ids Are Not Unique
  279. * 583 TeamCity service messages to support parallel test execution
  280. * 584 Non-runnable assembly has incorrect ResultState
  281. * 609 Add support for integration with TeamCity
  282. * 611 Remove unused --teamcity option from CF build of NUnitLite
  283. * 612 MaxTime doesn't work when used for TestCase
  284. * 621 Core Engine
  285. * 622 nunit-console fails when use --output
  286. * 628 Modify IService interface and simplify ServiceContext
  287. * 631 Separate packaging for the compact framework
  288. * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1
  289. * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails
  290. NUnit 3.0.0 Beta 1 - March 25, 2015
  291. General
  292. * There is now a master windows installer for the framework, engine and console runner.
  293. Framework
  294. * We no longer create a separate framework build for .NET 3.5. The 2.0 and
  295. 3.5 builds were essentially the same, so the former should now be used
  296. under both runtimes.
  297. * A new Constraint, DictionaryContainsKeyConstraint, may be used to test
  298. that a specified key is present in a dictionary.
  299. * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute.
  300. * The Silverlight runner now displays output in color and includes any
  301. text output created by the tests.
  302. * The class and method names of each test are included in the output xml
  303. where applicable.
  304. * String arguments used in test case names are now truncated to 40 rather
  305. than 20 characters.
  306. Engine
  307. * The engine API has now been finalized. It permits specifying a minimum
  308. version of the engine that a runner is able to use. The best installed
  309. version of the engine will be loaded. Third-party runners may override
  310. the selection process by including a copy of the engine in their
  311. installation directory and specifying that it must be used.
  312. * The V2 framework driver now uses the event listener and test listener
  313. passed to it by the runner. This corrects several outstanding issues
  314. caused by events not being received and allows selecting V2 tests to
  315. be run from the command-line, in the same way that V3 tests are selected.
  316. Console
  317. * The console now defaults to not using shadowcopy. There is a new option
  318. --shadowcopy to turn it on if needed.
  319. Issues Resolved
  320. * 224 Silverlight Support
  321. * 318 TestActionAttribute: Retrieving the TestFixture
  322. * 428 Add ExpectedExceptionAttribute to C# samples
  323. * 440 Automatic selection of Test Engine to use
  324. * 450 Create master install that includes the framework, engine and console installs
  325. * 477 Assert does not work with ArraySegment
  326. * 482 nunit-console has multiple errors related to -framework option
  327. * 483 Adds constraint for asserting that a dictionary contains a particular key
  328. * 484 Missing file in NUnit.Console nuget package
  329. * 485 Can't run v2 tests with nunit-console 3.0
  330. * 487 NUnitLite can't load assemblies by their file name
  331. * 488 Async setup and teardown still don't work
  332. * 497 Framework installer shold register the portable framework
  333. * 504 Option --workers:0 is ignored
  334. * 508 Travis builds with failure in engine tests show as successful
  335. * 509 Under linux, not all mono profiles are listed as available
  336. * 512 Drop the .NET 3.5 build
  337. * 517 V2 FrameworkDriver does not make use of passed in TestEventListener
  338. * 523 Provide an option to disable shadowcopy in NUnit v3
  339. * 528 V2 FrameworkDriver does not make use of passed in TestFilter
  340. * 530 Color display for Silverlight runner
  341. * 531 Display text output from tests in Silverlight runner
  342. * 534 Add classname and methodname to test result xml
  343. * 541 Console help doesn't indicate defaults
  344. NUnit 3.0.0 Alpha 5 - January 30, 2015
  345. General
  346. * A Windows installer is now included in the release packages.
  347. Framework
  348. * TestCaseAttribute now allows arguments with default values to be omitted. Additionaly, it accepts a Platform property to specify the platforms on which the test case should be run.
  349. * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test.
  350. * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async.
  351. * String arguments over 20 characters in length are truncated when used as part of a test name.
  352. Engine
  353. * The engine is now extensible using Mono.Addins. In this release, extension points are provided for FrameworkDrivers, ProjectLoaders and OutputWriters. The following addins are bundled as a part of NUnit:
  354. * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0.
  355. * ProjectLoaders for NUnit and Visual Studio projects.
  356. * An OutputWriter that creates XML output in NUnit V2 format.
  357. * DomainUsage now defaults to Multiple if not specified by the runner
  358. Console
  359. * New options supported:
  360. * --testlist provides a list of tests to run in a file
  361. * --stoponerror indicates that the run should terminate when any test fails.
  362. Issues Resolved
  363. * 20 TestCaseAttribute needs Platform property.
  364. * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown.
  365. * 257 TestCaseAttribute should not require parameters with default values to be specified.
  366. * 266 Pluggable framework drivers.
  367. * 368 Create addin model.
  368. * 369 Project loader addins
  369. * 370 OutputWriter addins
  370. * 403 Move ConsoleOptions.cs and Options.cs to Common and share...
  371. * 419 Create Windows Installer for NUnit.
  372. * 427 [TestFixture(Ignore=true)] should not be allowed.
  373. * 437 Errors in tests under Linux due to hard-coded paths.
  374. * 441 NUnit-Console should support --testlist option
  375. * 442 Add --stoponerror option back to nunit-console.
  376. * 456 Fix memory leak in RuntimeFramework.
  377. * 459 Remove the Mixed Platforms build configuration.
  378. * 468 Change default domain usage to multiple.
  379. * 469 Truncate string arguments in test names in order to limit the length.
  380. NUnit 3.0.0 Alpha 4 - December 30, 2014
  381. Framework
  382. * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute.
  383. * Unnecessary overloads of Assert.That and Assume.That have been removed.
  384. * Multiple SetUpFixtures may be specified in a single namespace.
  385. * Improvements to the Pairwise strategy test case generation algorithm.
  386. * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file.
  387. Engine
  388. * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0.
  389. * The engine can now load and run tests specified in a number of project formats:
  390. * NUnit (.nunit)
  391. * Visual Studio C# projects (.csproj)
  392. * Visual Studio F# projects (.vjsproj)
  393. * Visual Studio Visual Basic projects (.vbproj)
  394. * Visual Studio solutions (.sln)
  395. * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported
  396. * Support for the current C++ format (.csxproj) is not yet available
  397. * Creation of output files like TestResult.xml in various formats is now a
  398. service of the engine, available to any runner.
  399. Console
  400. * The command-line may now include any number of assemblies and/or supported projects.
  401. Issues Resolved
  402. * 37 Multiple SetUpFixtures should be permitted on same namespace
  403. * 210 TestContext.WriteLine in an AppDomain causes an error
  404. * 227 Add support for VS projects and solutions
  405. * 231 Update C# samples to use NUnit 3.0
  406. * 233 Update F# samples to use NUnit 3.0
  407. * 234 Update C++ samples to use NUnit 3.0
  408. * 265 Reorganize console reports for nunit-console and nunitlite
  409. * 299 No full path to assembly in XML file under Compact Framework
  410. * 301 Command-line length
  411. * 363 Make Xml result output an engine service
  412. * 377 CombiningStrategyAttributes don't work correctly on generic methods
  413. * 388 Improvements to NUnitLite runner output
  414. * 390 Specify exactly what happens when a test times out
  415. * 396 ApartmentAttribute
  416. * 397 CF nunitlite runner assembly has the wrong name
  417. * 407 Assert.Pass() with ]]> in message crashes console runner
  418. * 414 Simplify Assert overloads
  419. * 416 NUnit 2.x Framework Driver
  420. * 417 Complete work on NUnit projects
  421. * 420 Create Settings file in proper location
  422. NUnit 3.0.0 Alpha 3 - November 29, 2014
  423. Breaking Changes
  424. * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies.
  425. Framework
  426. * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction
  427. between them in terms of features, although some features are not available on all platforms.
  428. * The release includes two new framework builds: compact framework 3.5 and portable. The portable
  429. library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1,
  430. Windows Phone Silverlight 8, Mono for Android and MonoTouch.
  431. * A number of previously unsupported features are available for the Compact Framework:
  432. - Generic methods as tests
  433. - RegexConstraint
  434. - TimeoutAttribute
  435. - FileAssert, DirectoryAssert and file-related constraints
  436. Engine
  437. * The logic of runtime selection has now changed so that each assembly runs by default
  438. in a separate process using the runtime for which it was built.
  439. * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit,
  440. depending on the platform specified for the test assembly.
  441. Console
  442. * The console runner now runs tests in a separate process per assembly by default. They may
  443. still be run in process or in a single separate process by use of command-line options.
  444. * The console runner now starts in the highest version of the .NET runtime available, making
  445. it simpler to debug tests by specifying that they should run in-process on the command-line.
  446. * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system.
  447. * A writeability check is performed for each output result file before trying to run the tests.
  448. * The -teamcity option is now supported.
  449. Issues Resolved
  450. * 12 Compact framework should support generic methods
  451. * 145 NUnit-console fails if test result message contains invalid xml characters
  452. * 155 Create utility classes for platform-specific code
  453. * 223 Common code for NUnitLite console runner and NUnit-Console
  454. * 225 Compact Framework Support
  455. * 238 Improvements to running 32 bit tests on a 64 bit system
  456. * 261 Add portable nunitlite build
  457. * 284 NUnitLite Unification
  458. * 293 CF does not have a CurrentDirectory
  459. * 306 Assure NUnit can write resultfile
  460. * 308 Early disposal of runners
  461. * 309 NUnit-Console should support incremental output under TeamCity
  462. * 325 Add RegexConstraint to compact framework build
  463. * 326 Add TimeoutAttribute to compact framework build
  464. * 327 Allow generic test methods in the compact framework
  465. * 328 Use .NET Stopwatch class for compact framework builds
  466. * 331 Alpha 2 CF does not build
  467. * 333 Add parallel execution to desktop builds of NUnitLite
  468. * 334 Include File-related constraints and syntax in NUnitLite builds
  469. * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite
  470. * 336 Document use of separate obj directories per build in our projects
  471. * 337 Update Standard Defines page for .NET 3.0
  472. * 341 Move the NUnitLite runners to separate assemblies
  473. * 367 Refactor XML Escaping Tests
  474. * 372 CF Build TestAssemblyRunnerTests
  475. * 373 Minor CF Test Fixes
  476. * 378 Correct documentation for PairwiseAttribute
  477. * 386 Console Output Improvements
  478. NUnit 3.0.0 Alpha 2 - November 2, 2014
  479. Breaking Changes
  480. * The console runner no longer displays test results in the debugger.
  481. * The NUnitLite compact framework 2.0 build has been removed.
  482. * All addin support has been removed from the framework. Documentation of NUnit 3.0 extensibility features will be published in time for the beta release. In the interim, please ask for support on the nunit-discuss list.
  483. General
  484. * A separate solution has been created for Linux
  485. * We now have continuous integration builds under both Travis and Appveyor
  486. * The compact framework 3.5 build is now working and will be supported in future releases.
  487. New Features
  488. * The console runner now automatically detects 32- versus 64-bit test assemblies.
  489. * The NUnitLite report output has been standardized to match that of nunit-console.
  490. * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options.
  491. * Both nunit-console and NUnitLite now display output in color.
  492. * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha.
  493. * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown.
  494. * The console runner refuses to run tests build with older versions of NUnit. A plugin will be available to run older tests in the future.
  495. Issues Resolved
  496. * 222 Color console for NUnitLite
  497. * 229 Timing failures in tests
  498. * 241 Remove reference to Microslft BCL packages
  499. * 243 Create solution for Linux
  500. * 245 Multiple targets on action attributes not implemented
  501. * 246 C++ tests do not compile in VS2013
  502. * 247 Eliminate trace display when running tests in debug
  503. * 255 Add new result states for more precision in where failures occur
  504. * 256 ContainsConstraint break when used with AndConstraint
  505. * 264 Stacktrace displays too many entries
  506. * 269 Add manifest to nunit-console and nunit-agent
  507. * 270 OneTimeSetUp failure results in too much output
  508. * 271 Invalid tests should be treated as errors
  509. * 274 Command line options should be case insensitive
  510. * 276 NUnit-console should not reference nunit.framework
  511. * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter
  512. * 282 Get tests for NUnit2XmlOutputWriter working
  513. * 288 Set up Appveyor CI build
  514. * 290 Stack trace still displays too many items
  515. * 315 NUnit 3.0 alpha: Cannot run in console on my assembly
  516. * 319 CI builds are not treating test failures as failures of the build
  517. * 322 Remove Stopwatch tests where they test the real .NET Stopwatch
  518. NUnit 3.0.0 Alpha 1 - September 22, 2014
  519. Breaking Changes
  520. * Legacy suites are no longer supported
  521. * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty)
  522. General
  523. * MsBuild is now used for the build rather than NAnt
  524. * The framework test harness has been removed now that nunit-console is at a point where it can run the tests.
  525. New Features
  526. * Action Attributes have been added with the same features as in NUnit 2.6.3.
  527. * TestContext now has a method that allows writing to the XML output.
  528. * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown.
  529. * Does prefix operator supplies several added constraints.
  530. Issues Resolved
  531. * 6 Log4net not working with NUnit
  532. * 13 Standardize commandline options for nunitlite runner
  533. * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions
  534. * 33 TestCaseSource cannot refer to a parameterized test fixture
  535. * 54 Store message and stack trace in TestContext for use in TearDown
  536. * 111 Implement Changes to File, Directory and Path Assertions
  537. * 112 Implement Action Attributes
  538. * 156 Accessing multiple AppDomains within unit tests result in SerializationException
  539. * 163 Add --trace option to NUnitLite
  540. * 167 Create interim documentation for the alpha release
  541. * 169 Design and implement distribution of NUnit packages
  542. * 171 Assert.That should work with any lambda returning bool
  543. * 175 Test Harness should return an error if any tests fail
  544. * 180 Errors in Linux CI build
  545. * 181 Replace NAnt with MsBuild / XBuild
  546. * 183 Standardize commandline options for test harness
  547. * 188 No output from NUnitLite when selected test is not found
  548. * 189 Add string operators to Does prefix
  549. * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally
  550. * 197 Deprecate or remove Assert.NullOrEmpty
  551. * 202 Eliminate legacy suites
  552. * 203 Combine framework, engine and console runner in a single solution and repository
  553. * 209 Make Ignore attribute's reason mandatory
  554. * 215 Running 32-bit tests on a 64-bit OS
  555. * 219 Teardown failures are not reported
  556. Console Issues Resolved (Old nunit-console project, now combined with nunit)
  557. * 2 Failure in TestFixtureSetUp is not reported correctly
  558. * 5 CI Server for nunit-console
  559. * 6 System.NullReferenceException on start nunit-console-x86
  560. * 21 NUnitFrameworkDriverTests fail if not run from same directory
  561. * 24 'Debug' value for /trace option is deprecated in 2.6.3
  562. * 38 Confusing Excluded categories output
  563. NUnit 2.9.7 - August 8, 2014
  564. Breaking Changes
  565. * NUnit no longer supports void async test methods. You should use a Task return Type instead.
  566. * The ExpectedExceptionAttribute is no longer supported. Use Assert.Throws() or Assert.That(..., Throws) instead for a more precise specification of where the exception is expected to be thrown.
  567. New Features
  568. * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel.
  569. * Async tests are supported for .NET 4.0 if the user has installed support for them.
  570. * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist
  571. * ExpectedResult is now supported on simple (non-TestCase) tests.
  572. * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored.
  573. * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit
  574. * TimeoutAttribute is now supported under Silverlight
  575. * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used.
  576. * You may now specify a tolerance using Within when testing equality of DateTimeOffset values.
  577. * The XML output now includes a start and end time for each test.
  578. Issues Resolved
  579. * 8 [SetUpFixture] is not working as expected
  580. * 14 CI Server for NUnit Framework
  581. * 21 Is.InRange Constraint Ambiguity
  582. * 27 Values attribute support for enum types
  583. * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types
  584. * 31 Report start and end time of test execution
  585. * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable
  586. * 45 Need of Enddate together with Ignore
  587. * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf
  588. * 62 Matches(Constraint) does not work as expected
  589. * 63 Async support should handle Task return type without state machine
  590. * 64 AsyncStateMachineAttribute should only be checked by name
  591. * 65 Update NUnit Wiki to show the new location of samples
  592. * 66 Parallel Test Execution within test assemblies
  593. * 67 Allow Expected Result on simple tests
  594. * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries
  595. * 75 Async tests should be supported for projects that target .NET 4.0
  596. * 82 nunit-framework tests are timing out on Linux
  597. * 83 Path-related tests fail on Linux
  598. * 85 Culture-dependent NUnit tests fail on non-English machine
  599. * 88 TestCaseSourceAttribute documentation
  600. * 90 EquivalentTo isn't compatible with IgnoreCase for char
  601. * 100 Changes to Tolerance definitions
  602. * 110 Add new platforms to PlatformAttribute
  603. * 113 Remove ExpectedException
  604. * 118 Workarounds for missing InternalPreserveStackTrace in mono
  605. * 121 Test harness does not honor the --worker option when set to zero
  606. * 129 Standardize Timeout in the Silverlight build
  607. * 130 Add FileAssert.Exists and FileAssert.DoesNotExist
  608. * 132 Drop support for void async methods
  609. * 153 Surprising behavior of DelayedConstraint pollingInterval
  610. * 161 Update API to support stopping an ongoing test run
  611. NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad.
  612. NUnit 2.9.6 - October 4, 2013
  613. Main Features
  614. * Separate projects for nunit-console and nunit.engine
  615. * New builds for .NET 4.5 and Silverlight
  616. * TestContext is now supported
  617. * External API is now stable; internal interfaces are separate from API
  618. * Tests may be run in parallel on separate threads
  619. * Solutions and projects now use VS2012 (except for Compact framework)
  620. Bug Fixes
  621. * 463470 We should encapsulate references to pre-2.0 collections
  622. * 498690 Assert.That() doesn't like properties with scoped setters
  623. * 501784 Theory tests do not work correctly when using null parameters
  624. * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one
  625. * 611325 Allow Teardown to detect if last test failed
  626. * 611938 Generic Test Instances disappear
  627. * 655882 Make CategoryAttribute inherited
  628. * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute
  629. * 671432 Upgrade NAnt to Latest Release
  630. * 676560 Assert.AreEqual does not support IEquatable<T>
  631. * 691129 Add Category parameter to TestFixture
  632. * 697069 Feature request: dynamic location for TestResult.xml
  633. * 708173 NUnit's logic for comparing arrays - use Comparer<T[]> if it is provided
  634. * 709062 "System.ArgumentException : Cannot compare" when the element is a list
  635. * 712156 Tests cannot use AppDomain.SetPrincipalPolicy
  636. * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40
  637. * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders
  638. * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute
  639. * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation
  640. * 756843 Failing assertion does not show non-linear tolerance mode
  641. * 766749 net-2.0\nunit-console-x86.exe.config should have a <startup /> element and also enable loadFromRemoteSources
  642. * 770471 Assert.IsEmpty does not support IEnumerable
  643. * 785460 Add Category parameter to TestCaseSourceAttribute
  644. * 787106 EqualConstraint provides inadequate failure information for IEnumerables
  645. * 792466 TestContext MethodName
  646. * 794115 HashSet incorrectly reported
  647. * 800089 Assert.Throws() hides details of inner AssertionException
  648. * 848713 Feature request: Add switch for console to break on any test case error
  649. * 878376 Add 'Exactly(n)' to the NUnit constraint syntax
  650. * 882137 When no tests are run, higher level suites display as Inconclusive
  651. * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside
  652. * 885173 Tests are still executed after cancellation by user
  653. * 885277 Exception when project calls for a runtime using only 2 digits
  654. * 885604 Feature request: Explicit named parameter to TestCaseAttribute
  655. * 890129 DelayedConstraint doesn't appear to poll properties of objects
  656. * 892844 Not using Mono 4.0 profile under Windows
  657. * 893919 DelayedConstraint fails polling properties on references which are initially null
  658. * 896973 Console output lines are run together under Linux
  659. * 897289 Is.Empty constraint has unclear failure message
  660. * 898192 Feature Request: Is.Negative, Is.Positive
  661. * 898256 IEnumerable<T> for Datapoints doesn't work
  662. * 899178 Wrong failure message for parameterized tests that expect exceptions
  663. * 904841 After exiting for timeout the teardown method is not executed
  664. * 908829 TestCase attribute does not play well with variadic test functions
  665. * 910218 NUnit should add a trailing separator to the ApplicationBase
  666. * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator
  667. * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute
  668. * 928246 Use assembly.Location instead of assembly.CodeBase
  669. * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner
  670. * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails
  671. * 1000213 Inconclusive message Not in report output
  672. * 1023084 Add Enum support to RandomAttribute
  673. * 1028188 Add Support for Silverlight
  674. * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory
  675. * 1037144 Add MonoTouch support to PlatformAttribute
  676. * 1041365 Add MaxOsX and Xbox support to platform attribute
  677. * 1057981 C#5 async tests are not supported
  678. * 1060631 Add .NET 4.5 build
  679. * 1064014 Simple async tests should not return Task<T>
  680. * 1071164 Support async methods in usage scenarios of Throws constraints
  681. * 1071343 Runner.Load fails on CF if the test assembly contains a generic method
  682. * 1071861 Error in Path Constraints
  683. * 1072379 Report test execution time at a higher resolution
  684. * 1074568 Assert/Assume should support an async method for the ActualValueDelegate
  685. * 1082330 Better Exception if SetCulture attribute is applied multiple times
  686. * 1111834 Expose Random Object as part of the test context
  687. * 1111838 Include Random Seed in Test Report
  688. * 1172979 Add Category Support to nunitlite Runner
  689. * 1203361 Randomizer uniqueness tests sometimes fail
  690. * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1"
  691. * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class
  692. * 1225542 Standardize commandline options for test harness
  693. Bug Fixes in 2.9.6 But Not Listed Here in the Release
  694. * 541699 Silverlight Support
  695. * 1222148 /framework switch does not recognize net-4.5
  696. * 1228979 Theories with all test cases inconclusive are not reported as failures
  697. NUnit 2.9.5 - July 30, 2010
  698. Bug Fixes
  699. * 483836 Allow non-public test fixtures consistently
  700. * 487878 Tests in generic class without proper TestFixture attribute should be invalid
  701. * 498656 TestCase should show array values in GUI
  702. * 513989 Is.Empty should work for directories
  703. * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests
  704. * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable
  705. * 590717 categorie contains dash or trail spaces is not selectable
  706. * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run
  707. * 595683 NUnit console runner fails to load assemblies
  708. * 600627 Assertion message formatted poorly by PropertyConstraint
  709. * 601108 Duplicate test using abstract test fixtures
  710. * 601645 Parametered test should try to convert data type from source to parameter
  711. * 605432 ToString not working properly for some properties
  712. * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0
  713. * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects
  714. NUnit 2.9.4 - May 4, 2010
  715. Bug Fixes
  716. * 419411 Fixture With No Tests Shows as Non-Runnable
  717. * 459219 Changes to thread princpal cause failures under .NET 4.0
  718. * 459224 Culture test failure under .NET 4.0
  719. * 462019 Line endings needs to be better controlled in source
  720. * 462418 Assume.That() fails if I specify a message
  721. * 483845 TestCase expected return value cannot be null
  722. * 488002 Should not report tests in abstract class as invalid
  723. * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite
  724. * 501352 VS2010 projects have not been updated for new directory structure
  725. * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum
  726. * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed
  727. * 523335 TestFixtureTearDown in static class not executed
  728. * 556971 Datapoint(s)Attribute should work on IEnumerable<T> as well as on Arrays
  729. * 561436 SetCulture broken with 2.5.4
  730. * 563532 DatapointsAttribute should be allowed on properties and methods
  731. NUnit 2.9.3 - October 26, 2009
  732. Main Features
  733. * Created new API for controlling framework
  734. * New builds for .Net 3.5 and 4.0, compact framework 3.5
  735. * Support for old style tests has been removed
  736. * New adhoc runner for testing the framework
  737. Bug Fixes
  738. * 432805 Some Framework Tests don't run on Linux
  739. * 440109 Full Framework does not support "Contains"
  740. NUnit 2.9.2 - September 19, 2009
  741. Main Features
  742. * NUnitLite code is now merged with NUnit
  743. * Added NUnitLite runner to the framework code
  744. * Added Compact framework builds
  745. Bug Fixes
  746. * 430100 Assert.Catch<T> should return T
  747. * 432566 NUnitLite shows empty string as argument
  748. * 432573 Mono test should be at runtime
  749. NUnit 2.9.1 - August 27, 2009
  750. General
  751. * Created a separate project for the framework and framework tests
  752. * Changed license to MIT / X11
  753. * Created Windows installer for the framework
  754. Bug Fixes
  755. * 400502 NUnitEqualityComparer.StreamsE­qual fails for same stream
  756. * 400508 TestCaseSource attirbute is not working when Type is given
  757. * 400510 TestCaseData variable length ctor drops values
  758. * 417557 Add SetUICultureAttribute from NUnit 2.5.2
  759. * 417559 Add Ignore to TestFixture, TestCase and TestCaseData
  760. * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2
  761. * 417564 TimeoutAttribute on Assembly