您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

CHANGES.txt 58KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173
  1. NUnit 3.5 - October 3, 2015
  2. This is the first version of NUnit where the framework will be released separately from the
  3. console runner, engine and other extensions. From this point forward, the NUnit Framework will be
  4. released on its own schedule that is not bound to that of any other NUnit project and version numbers
  5. may diverge over time.
  6. This is also the first release where the NUnit Framework will not be included in the installer. Only
  7. the console runner, engine and extensions will be available as an MSI installer. We recommend that you
  8. use the NUnit NuGet packages for the framework, but a ZIP file with the binaries will also be available.
  9. Framework
  10. * Added Assert.Zero and Assert.NotZero methods
  11. * Tests with a Timeout will no longer timeout while you are debugging
  12. Issues Resolved
  13. * 144 Pass a Func<string> to lazily evaluate an exception message
  14. * 995 Enable Warning as Error
  15. * 1106 Move various Assembly Info files under Properties for CF
  16. * 1334 Add Assert.Zero and Assert.NotZero
  17. * 1479 Don't enforce [Timeout] when debugger is attached
  18. * 1540 Remove old .NET Core Projects
  19. * 1553 Allow ordering tests to be done in multiple properties
  20. * 1575 Escaping control chars in custom message
  21. * 1596 Eliminate code sharing across projects to be split
  22. * 1598 Split framework and console/engine into separate projects
  23. * 1610 Refactor dependencies in build.cake
  24. * 1615 Appveyor error in TestCF
  25. * 1621 Remove console and command-line option files from common
  26. * 1640 When submitting only part of optional parameters, all are overriden by defaults
  27. * 1641 Create OSX CI Build on Travis
  28. * 1663 Find way to hide NUnit.Compatability.Path from intellisense
  29. * 1681 NUnitLite under .net core doesn't support TeamCity output
  30. * 1683 Existence of SerializableAttribute in .NET Core
  31. * 1693 2 unit tests fail due to localization
  32. * 1716 Move installer to new repository
  33. * 1717 Change suffix for master builds
  34. * 1723 Remove Cake target TestAll
  35. * 1739 Create separate copies of MockAssembly for framework, engine and extensions
  36. * 1751 Serializable attribute exists in both System.Runtime.Serialization.Formatters and nunit.framework
  37. * 1775 Support NUnit assertions in partial trust code.
  38. * 1800 Remove Console/Engine projects from nunit.linux.sln
  39. * 1805 Error message "arguments provided for method not taking any" seems incomplete / doesn't make much sense
  40. * 1815 Prevent NullReferenceException in SubPathConstraint
  41. NUnit 3.4.1 - June 30, 2016
  42. Console Runner
  43. * A new option, --list-extensions, will display all the engine extensions that
  44. have been installed by the engine.
  45. Issues Resolved
  46. * 1623 NUnit 3.4 is not integrated with TeamCity
  47. * 1626 NUnit.ConsoleRunner is not picking up NUnit.Extension.NUnitV2ResultWriter
  48. * 1628 Agent's process stays in memory when it was failed to unload AppDomain
  49. * 1635 Console option to list loaded extensions
  50. NUnit 3.4 - June 25, 2016
  51. Framework
  52. * Improvements in comparing equality using IEquatable<T>
  53. * Test case names will only be truncated if the runner requests it or it is overridden on the command line
  54. with the --test-name-format option
  55. * The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use
  56. LINQ queries in your tests
  57. Engine
  58. * The TeamCity event listener has been separated out into an engine extension
  59. * Fixed numerous issues around thread safety of parallel test runs
  60. * Additional fixes to reduce memory usage
  61. * Fixes for Mono 4.4
  62. Console Runner
  63. * There is a new --params command line option that allows you to pass parameters to your tests
  64. which can be retrieved using TestContext.Parameters
  65. * Another new command line option --loaduserprofile causes the User Profile to be loaded into the
  66. NUnit Agent process.
  67. Issues Resolved
  68. * 329 (CLI) Runner does not report AppDomain unloading timeout
  69. * 720 Need a way to get test-specific command-line arguments at runtime
  70. * 1010 Need to control engine use of extensions
  71. * 1139 Nunit3 console doesn't show test output continously
  72. * 1225 The --teamcity option should really be an extension
  73. * 1241 Make TestDirectory accessible when TestCaseSource attributes are evaluated
  74. * 1366 Classname for inherited test is not correct
  75. * 1371 Support `dotnet test` in .NET CLI and .NET Core
  76. * 1379 Console returns 0 for invalid fixtures
  77. * 1422 Include TestListWithEmptyLine.tst in ZIP Package
  78. * 1423 SingleThreaded attribute should raise an error if a thread is required
  79. * 1425 Lazy initialization of OutWriter in TestResult is not thread safe
  80. * 1427 Engine extensions load old packages
  81. * 1430 TestObjects are retained for lifetime of test run, causing high memory usage
  82. * 1432 NUnit hangs when reporting to TeamCity
  83. * 1434 TestResult class needs to be thread-safe
  84. * 1435 Parallel queue creation needs to be thread-safe
  85. * 1436 CurrentFramework and Current Platform need to be more thread-safe
  86. * 1439 EqualConstraint does Not use Equals Override on the Expected Object
  87. * 1441 Add Linq for use internally in .NET 2.0 code
  88. * 1446 TestOrderAttributeTests is not public
  89. * 1450 Silverlight detection doesn't work when building on 32-bit OS
  90. * 1457 Set the 2.0 build to ignore missing xml dcoumentation
  91. * 1463 Should TestResult.AssertCount have a public setter?
  92. * 1464 TNode.EscapeInvalidXmlCharacters recreates Regex continually
  93. * 1470 Make EventQueue and associated classes lock-less and thread safe
  94. * 1476 Examine need for "synchronous" events in event queue
  95. * 1481 TestCase with generic return type causes NullReferenceException
  96. * 1483 Remoting exceptions during test execution
  97. * 1484 Comparing Equality using IEquatable<T> Should Use Most Specific Method
  98. * 1493 NUnit 2 test results report ParameterizedMethod but should be ParameterizedTest
  99. * 1507 NullReferenceException when null arguments are used in TestFixtureAttribute
  100. * 1513 Add new teamcity extension to packages
  101. * 1518 NUnit does not send the "testStarted" TeamCity service message when exception was thrown from SetUp/OneTimeSetUp
  102. * 1520 Detect Portable, Silverlight and Compact and give error message
  103. * 1528 Use of Sleep(0) in NUnit
  104. * 1543 Blank name attribute in nunit2-formatted XML result file test-run element
  105. * 1547 Create separate assembly for System.Linq compatibility classes
  106. * 1548 Invalid Exception when engine is in a 32-bit process
  107. * 1549 Changing default behavior for generating test case names
  108. * 1551 Path in default .addins file for ConsoleRunner package may not exist
  109. * 1555 EndsWith calls in Constraint constructor can cause major perf issues
  110. * 1560 Engine writes setting file unnecessarily
  111. * 1573 Move Nunit.Portable.Agent to new Repo
  112. * 1579 NUnit v3 dangerously overrides COMPLUS_Version environment variable
  113. * 1582 Mono 4.4.0 Causes Test Failures
  114. * 1593 Nunit Console Runner 3.2.1 and Mono 4.4 throws RemotingException
  115. * 1597 Move Portable agent to its own repository
  116. * 1605 TeamCity package has no pre-release suffix
  117. * 1607 nunit.nuget.addins discovery pattern is wrong then restored through project.json
  118. * 1617 Load user profile on test runners
  119. NUnit 3.2.1 - April 19, 2016
  120. Framework
  121. * The output and error files are now thread safe when running tests in parallel
  122. * Added a .NET 3.5 build of the framework preventing conflicts with the compatiblity classes in the 2.0 framework
  123. * Added a SingleThreadedAttribute to be added to a TestFixture to indicate all child tests should run on the same thread
  124. Engine
  125. * Unless required, run all tests within a fixture on the same thread
  126. * Added an EventListener extension point
  127. * Reduced memory usage
  128. Console Runner
  129. * No longer probes for newer versions of the engine, instead uses the engine that is included with the console
  130. Issues Resolved
  131. * 332 Add CF to the Appveyor CI build
  132. * 640 Keep CF Build (and other future builds) in Sync
  133. * 773 Upgrade Travis CI from Legacy Infrastructure
  134. * 1141 Explicit Tests get run when using --where with some filters
  135. * 1161 NUnit3-Console should disallow the combination of --inprocess and --x86, giving an error message
  136. * 1208 Apartment on assembly level broken
  137. * 1231 Build may silently fail some tests
  138. * 1247 Potential memory issue
  139. * 1266 SetCultureAttribute does not work if set on assembly level
  140. * 1302 Create EventListener ExtensionPoint for the Engine
  141. * 1317 Getting CF framework unit tests running on CI build
  142. * 1318 NUnit console runner fails with error code -100
  143. * 1327 TestCaseSource in NUnit 3 converts an argument declared as String[] to String
  144. * 1329 Unable to build without Compact Framework
  145. * 1333 Single Thread per Worker
  146. * 1338 BUILDING.txt is outdated
  147. * 1349 Collision on System.Func from nunit.framework with System.Core in .Net 3.5 (CS0433)
  148. * 1352 Tests losing data setup on thread
  149. * 1359 Compilation error in NUnitPortableDriverTests.cs
  150. * 1383 Skip Silverlight build if SDK not installed
  151. * 1386 Bug when using Assert.Equals() with types that explicitly implement IEquatable<T>
  152. * 1390 --testlist with file with blank first line causes IndexOutOfRangeException
  153. * 1399 Fixed NullReference issue introduced by the fix for #681
  154. * 1405 ITestRunner.StopRun throws exception of type 'System.MissingMethodException'
  155. * 1406 TextCapture is not threadsafe but is used to intercept calls that are expected to be threadsafe
  156. * 1410 Make OutFile and ErrFile streamwriters synchronized
  157. * 1413 Switch console to use a local engine
  158. NUnit 3.2 - March 5, 2016
  159. Framework
  160. * Added an Order attribute that defines the order in which tests are run
  161. * Added Assert.ThrowsAsync for testing if async methods throw an exception
  162. * You can now compare unlike collections using Is.EquivalentTo().Using(...)
  163. * Added the ability to add custom message formatters to MsgUtils
  164. * TestCaseSourceAttribute now optionally takes an array of parameters that can be passed to the source method
  165. * Added Is.Zero and Is.Not.Zero to the fluent syntax as a shorter option for Is.EqualTo(0) and Is.Not.EqualTo(0)
  166. Engine
  167. * Engine extensions can be installed via NuGet packages
  168. Issues Resolved
  169. * 170 Test Order Attribute
  170. * 300 Create an NUnit Visual Studio Template
  171. * 464 Async delegate assertions
  172. * 532 Batch runner for Silverlight tests
  173. * 533 Separate NUnitLite runner and autorunner
  174. * 681 NUnit agent cannot resolve test dependency assemblies when mixed mode initialization runs in the default AppDomain
  175. * 793 Replace CoreEngine by use of Extensions
  176. * 907 Console report tests are too fragile
  177. * 922 Wrap Console in NUnitLite
  178. * 930 Switch from MSBuild based build system to Cake
  179. * 981 Define NUnit Versioning for post-3.0 Development
  180. * 1004 Poor formatting of results for Assert.AreEqual(DateTimeOffset, DateTimeOffset)
  181. * 1018 ArgumentException when 2.x version of NUnit Framework is in the bin directory
  182. * 1022 Support Comparing Unlike Collections using Is.EquivalentTo().Using(...)
  183. * 1044 Re-order Test Summary Errors/Failures
  184. * 1066 ApartmentAttribute and TestCaseAttribute(s) do not work together
  185. * 1103 Can't use TestCaseData from base class
  186. * 1109 NullReferenceException when using inherited property for ValueSource
  187. * 1113 Console runner and xml output consistency
  188. * 1117 Fix misbehaviour of Throws.Exception with non-void returning functions
  189. * 1120 NUnitProject should parse .nunit project files containing Xml Declarations
  190. * 1121 Usage of field set to null as value source leads to somewhat cryptic error
  191. * 1122 Region may be disposed before test delegate is executed
  192. * 1133 Provide a way to install extensions as nuget packages
  193. * 1136 Don't allow V2 framework to update in V2 driver tests
  194. * 1171 A bug when using Assert.That() with Is.Not.Empty
  195. * 1185 Engine finds .NET 4.0 Client Profile twice
  196. * 1187 ITestAssemblyRunner.StopRun as implemented by NUnitTestAssemblyRunner
  197. * 1195 name attribute in test-suite and test-results element of output xml is different to nunit 2.6.4 using nunit2-format
  198. * 1196 Custom value formatter for v3 via MsgUtils
  199. * 1210 Available runtimes issues
  200. * 1230 Add ability for testcasedatasource to have parameters passed to methods
  201. * 1233 Add TestAssemblyRunner tests to both portable and silverlight builds
  202. * 1234 Have default NUnitLite Runner Program.cs return exit code
  203. * 1236 Make Appveyor NuGet feed more useable
  204. * 1246 Introduce Is.Zero syntax to test for zero
  205. * 1252 Exception thrown when any assembly is not found
  206. * 1261 TypeHelper.GetDisplayName generates the wrong name for generic types with nested classes
  207. * 1278 Fix optional parameters in TestCaseAttribute
  208. * 1282 TestCase using Params Behaves Oddly
  209. * 1283 Engine should expose available frameworks.
  210. * 1286 value of the time attribute in nunit2 outputs depends on the machine culture
  211. * 1297 NUnit.Engine nuget package improvements
  212. * 1301 Assert.AreNotSame evaluates ToString unnecessarily
  213. NUnit 3.0.1 - December 1, 2015
  214. Console Runner
  215. * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package
  216. * 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
  217. Issues Resolved
  218. * 994 Add max number of Agents to the NUnit project file
  219. * 1014 Ensure NUnit API assembly updates with MSI installs
  220. * 1024 Added --pause flag to console runner
  221. * 1030 Update Nunit.Runners package to 3.0
  222. * 1033 "No arguments were provided" with Theory and Values combination
  223. * 1035 Check null arguments
  224. * 1037 Async tests not working on Windows 10 Universal
  225. * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails
  226. * 1042 NUnit2 reports on 3.0 is different than 2.6.4
  227. * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException
  228. * 1049 Cannot select Generic tests from command line
  229. * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public
  230. * 1054 Create nuget feeds for CI builds on Appveyor
  231. * 1055 nunit3 console runner --where option does not return error on invalid selection string
  232. * 1060 Remove "Version 3" from NUnit Nuget Package
  233. * 1061 Nunit30Settings.xml becomes corrupted
  234. * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner
  235. * 1063 Error in Random Test
  236. NUnit 3.0.0 Final Release - November 15, 2015
  237. Issues Resolved
  238. * 635 Mono 4.0 Support
  239. NUnit 3.0.0 Release Candidate 3 - November 13, 2015
  240. Engine
  241. * 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.
  242. 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!
  243. Issues Resolved
  244. * 856 Extensions support for third party runners in NUnit 3.0
  245. * 1003 Delete TeamCityEventHandler as it is not used
  246. * 1015 Specifying .nunit project and --framework on command line causes crash
  247. * 1017 Remove Assert.Multiple from framework
  248. NUnit 3.0.0 Release Candidate 2 - November 8, 2015
  249. Engine
  250. * The IDriverFactory extensibility interface has been modified.
  251. Issues Resolved
  252. * 970 Define PARALLEL in CF build of nunitlite
  253. * 978 It should be possible to determine version of NUnit using nunit console tool
  254. * 983 Inconsistent return codes depending on ProcessModel
  255. * 986 Update docs for parallel execution
  256. * 988 Don't run portable tests from NUnit Console
  257. * 990 V2 driver is passing invalid filter elements to NUnit
  258. * 991 Mono.Options should not be exposed to public directly
  259. * 993 Give error message when a regex filter is used with NUnit V2
  260. * 997 Add missing XML Documentation
  261. * 1008 NUnitLite namespace not updated in the NuGet Packages
  262. NUnit 3.0.0 Release Candidate - November 1, 2015
  263. Framework
  264. * The portable build now supports ASP.NET 5 and the new Core CLR.
  265. NOTE: The `nunit3-console` runner cannot run tests that reference the portable build.
  266. You may run such tests using NUnitLite or a platform-specific runner.
  267. * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely.
  268. * The Silverlight packages are now separate downloads.
  269. NUnitLite
  270. * The NUnitLite runner now produces the same output display and XML results as the console runner.
  271. Engine
  272. * The format of the XML result file has been finalized and documented.
  273. Console Runner
  274. * The console runner program is now called `nunit3-console`.
  275. * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling.
  276. Issues Resolved
  277. * 59 Length of generated test names should be limited
  278. * 68 Customization of test case name generation
  279. * 404 Split tests between nunitlite.runner and nunit.framework
  280. * 575 Add support for ASP.NET 5 and the new Core CLR
  281. * 783 Package separately for Silverlight
  282. * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers
  283. * 859 NUnit-Console output - move Test Run Summary to end
  284. * 867 Remove Warnings from Ignored tests
  285. * 868 Review skipped tests
  286. * 887 Move environment and settings elements to the assembly suite in the result file
  287. * 899 Colors for ColorConsole on grey background are too light
  288. * 904 InternalPreserveStackTrace is not supported on all Portable platforms
  289. * 914 Unclear error message from console runner when assembly has no tests
  290. * 916 Console runner dies when test agent dies
  291. * 918 Console runner --where parameter is case sensitive
  292. * 920 Remove addins\nunit.engine.api.dll from NuGet package
  293. * 929 Rename nunit-console.exe
  294. * 931 Remove beta warnings from NuGet packages
  295. * 936 Explicit skipped tests not displayed
  296. * 939 Installer complains about .NET even if already installed
  297. * 940 Confirm or modify list of packages for release
  298. * 947 Breaking API change in ValueSourceAttribute
  299. * 949 Update copyright in NUnit Console
  300. * 954 NUnitLite XML output is not consistent with the engine's
  301. * 955 NUnitLite does not display the where clause
  302. * 959 Restore filter options for NUnitLite portable build
  303. * 960 Intermittent failure of CategoryFilterTests
  304. * 967 Run Settings Report is not being displayed.
  305. NUnit 3.0.0 Beta 5 - October 16, 2015
  306. Framework
  307. * Parameterized test cases now support nullable arguments.
  308. * 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.
  309. Engine
  310. * The engine now runs multiple test assemblies in parallel by default
  311. * 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.
  312. * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension.
  313. Console Runner
  314. * The console now displays all settings used by the engine to run tests as well as the filter used to select tests.
  315. * 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.
  316. * 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.
  317. * 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.
  318. Issues Resolved
  319. * 41 Check for zeroes in Assert messages
  320. * 254 Finalize XML format for test results
  321. * 275 NUnitEqualityComparer fails to compare IEquatable<T> where second object is derived from T
  322. * 304 Run test Assemblies in parallel
  323. * 374 New syntax for selecting tests to be run
  324. * 515 OSPlatform.IsMacOSX doesn't work
  325. * 573 nunit-console hangs on Mac OS X after all tests have run
  326. * 669 TeamCity service message should have assembly name as a part of test name.
  327. * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute
  328. * 713 Include command information in XML
  329. * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file
  330. * 735 Workers number in xml report file cannot be found
  331. * 784 Build Portable Framework on Linux
  332. * 790 Allow Extensions to provide data through an attribute
  333. * 794 Make it easier to debug tests as well as NUnit itself
  334. * 801 NUnit calls Dispose multiple times
  335. * 814 Support nullable types with TestCase
  336. * 818 Possible error in Merge Pull Request #797
  337. * 821 Wrapped method results in loss of result information
  338. * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build
  339. * 824 Remove unused System.Reflection using statements
  340. * 826 Randomizer uniqueness tests fail randomly!
  341. * 828 Merge pull request #827 (issue 826)
  342. * 830 Add ability to report test results synchronously to test runners
  343. * 837 Enumerators not disposed when comparing IEnumerables
  344. * 840 Add missing copyright notices
  345. * 844 Pull Request #835 (Issue #814) does not build in CF
  346. * 847 Add new --process:inprocess and --inprocess options
  347. * 850 Test runner fails if test name contains invalid xml characters
  348. * 851 'Exclude' console option is not working in NUnit Lite
  349. * 853 Cannot run NUnit Console from another directory
  350. * 860 Use CDATA section for message, stack-trace and output elements of XML
  351. * 863 Eliminate core engine
  352. * 865 Intermittent failures of StopWatchTests
  353. * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX
  354. * 870 NUnit Console Runtime Environment misreports on MacOSX
  355. * 874 Add .NET Core Framework
  356. * 878 Cannot exclude MacOSX or XBox platforms when running on CF
  357. * 892 Fixed test runner returning early when executing more than one test run.
  358. * 894 Give nunit.engine and nunit.engine.api assemblies strong names
  359. * 896 NUnit 3.0 console runner not placing test result xml in --work directory
  360. NUnit 3.0.0 Beta 4 - August 25, 2015
  361. Framework
  362. * A new RetryAttribute allows retrying of failing tests.
  363. * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint.
  364. * Tests skipped due to ExplicitAttribute are now reported as skipped.
  365. Engine
  366. * We now use Cecil to examine assemblies prior to loading them.
  367. * Extensions are no longer based on Mono.Addins but use our own extension framework.
  368. Issues Resolved
  369. * 125 3rd-party dependencies should be downloaded on demand
  370. * 283 What should we do when a user extension does something bad?
  371. * 585 RetryAttribute
  372. * 642 Restructure MSBuild script
  373. * 649 Change how we zip packages
  374. * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom
  375. * 664 Invalid "id" attribute in the report for case "test started"
  376. * 685 In the some cases when tests cannot be started NUnit returns exit code "0"
  377. * 728 Missing Assert.That overload
  378. * 741 Explicit Tests get run when using --exclude
  379. * 746 Framework should send events for all tests
  380. * 747 NUnit should apply attributes even if test is non-runnable
  381. * 749 Review Use of Mono.Addins for Engine Extensibility
  382. * 750 Include Explicit Tests in Test Results
  383. * 753 Feature request: Is.SupersetOf() assertion constraint
  384. * 755 TimeOut attribute doesn't work with TestCaseSource Attribute
  385. * 757 Implement some way to wait for execution to complete in ITestEngineRunner
  386. * 760 Packaging targets do not run on Linux
  387. * 766 Added overloads for True()/False() accepting booleans
  388. * 778 Build and build.cmd scripts invoke nuget.exe improperly
  389. * 780 Teamcity fix
  390. * 782 No sources for 2.6.4
  391. NUnit 3.0.0 Beta 3 - July 15, 2015
  392. Framework
  393. * The RangeAttribute has been extended to support more data types including
  394. uint, long and ulong
  395. * Added platform support for Windows 10 and fixed issues with Windows 8 and
  396. 8.1 support
  397. * Added async support to the portable version of NUnit Framework
  398. * The named members of the TestCaseSource and ValueSource attributes must now be
  399. static.
  400. * RandomAttribute has been extended to add support for new data types including
  401. uint, long, ulong, short, ushort, float, byte and sbyte
  402. * TestContext.Random has also been extended to add support for new data types including
  403. uint, long, ulong, short, ushort, float, byte, sbyte and decimal
  404. * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly
  405. targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need
  406. to reference the NuGet package yourself.
  407. * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource
  408. but provides for instantiation of fixtures.
  409. * Significant improvements have been made in how NUnit deduces the type arguments of
  410. generic methods based on the arguments provided.
  411. Engine
  412. * If the target framework is not specified, test assemblies that are compiled
  413. to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode
  414. Console
  415. * If the console is run without arguments, it will now display help
  416. Issues Resolved
  417. * 47 Extensions to RangeAttribute
  418. * 237 System.Uri .ctor works not properly under Nunit
  419. * 244 NUnit should properly distinguish between .NET 4.0 and 4.5
  420. * 310 Target framework not specified on the AppDomain when running against .Net 4.5
  421. * 321 Rationalize how we count tests
  422. * 472 Overflow exception and DivideByZero exception from the RangeAttribute
  423. * 524 int and char do not compare correctly?
  424. * 539 Truncation of string arguments
  425. * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI
  426. * 656 Unused parameter in Console.WriteLine found
  427. * 670 Failing Tests in TeamCity Build
  428. * 673 Ensure proper disposal of engine objects
  429. * 674 Engine does not release test assemblies
  430. * 679 Windows 10 Support
  431. * 682 Add Async Support to Portable Framework
  432. * 683 Make FrameworkController available in portable build
  433. * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0)
  434. * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process
  435. * 693 Generic Test<T> Method cannot determine type arguments for fixture when passed as IEnumerable<T>
  436. * 698 Require TestCaseSource and ValueSource named members to be static
  437. * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages
  438. * 712 Extensions to RandomAttribute
  439. * 715 Provide a data source attribute at TestFixture Level
  440. * 718 RangeConstraint gives error with from and two args of differing types
  441. * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async?
  442. * 724 Adds support for Nullable<bool> to Assert.IsTrue and Assert.IsFalse
  443. * 734 Console without parameters doesn't show help
  444. NUnit 3.0.0 Beta 2 - May 12, 2015
  445. Framework
  446. * The Compact Framework version of the framework is now packaged separately
  447. and will be distributed as a ZIP file and as a NuGet package.
  448. * The NUnit 2.x RepeatAttribute was added back into the framework.
  449. * Added Throws.ArgumentNullException
  450. * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to
  451. create repeatable random strings for testing
  452. * When checking the equality of DateTimeOffset, you can now use the
  453. WithSameOffset modifier
  454. * Some classes intended for internal usage that were public for testing
  455. have now been made internal. Additional classes will be made internal
  456. for the final 3.0 release.
  457. Engine
  458. * Added a core engine which is a non-extensible, minimal engine for use by
  459. devices and similar situations where reduced functionality is compensated
  460. for by reduced size and simplicity of usage. See
  461. https://github.com/nunit/dev/wiki/Core-Engine for more information.
  462. Issues Resolved
  463. * 22 Add OSArchitecture Attribute to Environment node in result xml
  464. * 24 Assert on Dictionary Content
  465. * 48 Explicit seems to conflict with Ignore
  466. * 168 Create NUnit 3.0 documentation
  467. * 196 Compare DateTimeOffsets including the offset in the comparison
  468. * 217 New icon for the 3.0 release
  469. * 316 NUnitLite TextUI Runner
  470. * 320 No Tests found: Using parametrized Fixture and TestCaseSource
  471. * 360 Better exception message when using non-BCL class in property
  472. * 454 Rare registry configurations may cause NUnit to fail
  473. * 478 RepeatAttribute
  474. * 481 Testing multiple assemblies in nunitlite
  475. * 538 Potential bug using TestContext in constructors
  476. * 546 Enable Parallel in NUnitLite/CF (or more) builds
  477. * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner
  478. * 556 Executed tests should always return a non-zero duration
  479. * 559 Fix text of NuGet packages
  480. * 560 Fix PackageVersion property on wix install projects
  481. * 562 Program.cs in NUnitLite NuGet package is incorrect
  482. * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1
  483. * 565 NUnitLite Nuget package adds Program.cs to a VB Project
  484. * 568 Isolate packaging from building
  485. * 570 ThrowsConstraint failure message should include stack trace of actual exception
  486. * 576 Throws.ArgumentNullException would be nice
  487. * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints
  488. * 579 No documentation for recommended usage of TestCaseSourceAttribute
  489. * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver
  490. * 582 Test Ids Are Not Unique
  491. * 583 TeamCity service messages to support parallel test execution
  492. * 584 Non-runnable assembly has incorrect ResultState
  493. * 609 Add support for integration with TeamCity
  494. * 611 Remove unused --teamcity option from CF build of NUnitLite
  495. * 612 MaxTime doesn't work when used for TestCase
  496. * 621 Core Engine
  497. * 622 nunit-console fails when use --output
  498. * 628 Modify IService interface and simplify ServiceContext
  499. * 631 Separate packaging for the compact framework
  500. * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1
  501. * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails
  502. NUnit 3.0.0 Beta 1 - March 25, 2015
  503. General
  504. * There is now a master windows installer for the framework, engine and console runner.
  505. Framework
  506. * We no longer create a separate framework build for .NET 3.5. The 2.0 and
  507. 3.5 builds were essentially the same, so the former should now be used
  508. under both runtimes.
  509. * A new Constraint, DictionaryContainsKeyConstraint, may be used to test
  510. that a specified key is present in a dictionary.
  511. * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute.
  512. * The Silverlight runner now displays output in color and includes any
  513. text output created by the tests.
  514. * The class and method names of each test are included in the output xml
  515. where applicable.
  516. * String arguments used in test case names are now truncated to 40 rather
  517. than 20 characters.
  518. Engine
  519. * The engine API has now been finalized. It permits specifying a minimum
  520. version of the engine that a runner is able to use. The best installed
  521. version of the engine will be loaded. Third-party runners may override
  522. the selection process by including a copy of the engine in their
  523. installation directory and specifying that it must be used.
  524. * The V2 framework driver now uses the event listener and test listener
  525. passed to it by the runner. This corrects several outstanding issues
  526. caused by events not being received and allows selecting V2 tests to
  527. be run from the command-line, in the same way that V3 tests are selected.
  528. Console
  529. * The console now defaults to not using shadowcopy. There is a new option
  530. --shadowcopy to turn it on if needed.
  531. Issues Resolved
  532. * 224 Silverlight Support
  533. * 318 TestActionAttribute: Retrieving the TestFixture
  534. * 428 Add ExpectedExceptionAttribute to C# samples
  535. * 440 Automatic selection of Test Engine to use
  536. * 450 Create master install that includes the framework, engine and console installs
  537. * 477 Assert does not work with ArraySegment
  538. * 482 nunit-console has multiple errors related to -framework option
  539. * 483 Adds constraint for asserting that a dictionary contains a particular key
  540. * 484 Missing file in NUnit.Console nuget package
  541. * 485 Can't run v2 tests with nunit-console 3.0
  542. * 487 NUnitLite can't load assemblies by their file name
  543. * 488 Async setup and teardown still don't work
  544. * 497 Framework installer shold register the portable framework
  545. * 504 Option --workers:0 is ignored
  546. * 508 Travis builds with failure in engine tests show as successful
  547. * 509 Under linux, not all mono profiles are listed as available
  548. * 512 Drop the .NET 3.5 build
  549. * 517 V2 FrameworkDriver does not make use of passed in TestEventListener
  550. * 523 Provide an option to disable shadowcopy in NUnit v3
  551. * 528 V2 FrameworkDriver does not make use of passed in TestFilter
  552. * 530 Color display for Silverlight runner
  553. * 531 Display text output from tests in Silverlight runner
  554. * 534 Add classname and methodname to test result xml
  555. * 541 Console help doesn't indicate defaults
  556. NUnit 3.0.0 Alpha 5 - January 30, 2015
  557. General
  558. * A Windows installer is now included in the release packages.
  559. Framework
  560. * 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.
  561. * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test.
  562. * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async.
  563. * String arguments over 20 characters in length are truncated when used as part of a test name.
  564. Engine
  565. * 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:
  566. * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0.
  567. * ProjectLoaders for NUnit and Visual Studio projects.
  568. * An OutputWriter that creates XML output in NUnit V2 format.
  569. * DomainUsage now defaults to Multiple if not specified by the runner
  570. Console
  571. * New options supported:
  572. * --testlist provides a list of tests to run in a file
  573. * --stoponerror indicates that the run should terminate when any test fails.
  574. Issues Resolved
  575. * 20 TestCaseAttribute needs Platform property.
  576. * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown.
  577. * 257 TestCaseAttribute should not require parameters with default values to be specified.
  578. * 266 Pluggable framework drivers.
  579. * 368 Create addin model.
  580. * 369 Project loader addins
  581. * 370 OutputWriter addins
  582. * 403 Move ConsoleOptions.cs and Options.cs to Common and share...
  583. * 419 Create Windows Installer for NUnit.
  584. * 427 [TestFixture(Ignore=true)] should not be allowed.
  585. * 437 Errors in tests under Linux due to hard-coded paths.
  586. * 441 NUnit-Console should support --testlist option
  587. * 442 Add --stoponerror option back to nunit-console.
  588. * 456 Fix memory leak in RuntimeFramework.
  589. * 459 Remove the Mixed Platforms build configuration.
  590. * 468 Change default domain usage to multiple.
  591. * 469 Truncate string arguments in test names in order to limit the length.
  592. NUnit 3.0.0 Alpha 4 - December 30, 2014
  593. Framework
  594. * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute.
  595. * Unnecessary overloads of Assert.That and Assume.That have been removed.
  596. * Multiple SetUpFixtures may be specified in a single namespace.
  597. * Improvements to the Pairwise strategy test case generation algorithm.
  598. * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file.
  599. Engine
  600. * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0.
  601. * The engine can now load and run tests specified in a number of project formats:
  602. * NUnit (.nunit)
  603. * Visual Studio C# projects (.csproj)
  604. * Visual Studio F# projects (.vjsproj)
  605. * Visual Studio Visual Basic projects (.vbproj)
  606. * Visual Studio solutions (.sln)
  607. * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported
  608. * Support for the current C++ format (.csxproj) is not yet available
  609. * Creation of output files like TestResult.xml in various formats is now a
  610. service of the engine, available to any runner.
  611. Console
  612. * The command-line may now include any number of assemblies and/or supported projects.
  613. Issues Resolved
  614. * 37 Multiple SetUpFixtures should be permitted on same namespace
  615. * 210 TestContext.WriteLine in an AppDomain causes an error
  616. * 227 Add support for VS projects and solutions
  617. * 231 Update C# samples to use NUnit 3.0
  618. * 233 Update F# samples to use NUnit 3.0
  619. * 234 Update C++ samples to use NUnit 3.0
  620. * 265 Reorganize console reports for nunit-console and nunitlite
  621. * 299 No full path to assembly in XML file under Compact Framework
  622. * 301 Command-line length
  623. * 363 Make Xml result output an engine service
  624. * 377 CombiningStrategyAttributes don't work correctly on generic methods
  625. * 388 Improvements to NUnitLite runner output
  626. * 390 Specify exactly what happens when a test times out
  627. * 396 ApartmentAttribute
  628. * 397 CF nunitlite runner assembly has the wrong name
  629. * 407 Assert.Pass() with ]]> in message crashes console runner
  630. * 414 Simplify Assert overloads
  631. * 416 NUnit 2.x Framework Driver
  632. * 417 Complete work on NUnit projects
  633. * 420 Create Settings file in proper location
  634. NUnit 3.0.0 Alpha 3 - November 29, 2014
  635. Breaking Changes
  636. * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies.
  637. Framework
  638. * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction
  639. between them in terms of features, although some features are not available on all platforms.
  640. * The release includes two new framework builds: compact framework 3.5 and portable. The portable
  641. library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1,
  642. Windows Phone Silverlight 8, Mono for Android and MonoTouch.
  643. * A number of previously unsupported features are available for the Compact Framework:
  644. - Generic methods as tests
  645. - RegexConstraint
  646. - TimeoutAttribute
  647. - FileAssert, DirectoryAssert and file-related constraints
  648. Engine
  649. * The logic of runtime selection has now changed so that each assembly runs by default
  650. in a separate process using the runtime for which it was built.
  651. * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit,
  652. depending on the platform specified for the test assembly.
  653. Console
  654. * The console runner now runs tests in a separate process per assembly by default. They may
  655. still be run in process or in a single separate process by use of command-line options.
  656. * The console runner now starts in the highest version of the .NET runtime available, making
  657. it simpler to debug tests by specifying that they should run in-process on the command-line.
  658. * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system.
  659. * A writeability check is performed for each output result file before trying to run the tests.
  660. * The -teamcity option is now supported.
  661. Issues Resolved
  662. * 12 Compact framework should support generic methods
  663. * 145 NUnit-console fails if test result message contains invalid xml characters
  664. * 155 Create utility classes for platform-specific code
  665. * 223 Common code for NUnitLite console runner and NUnit-Console
  666. * 225 Compact Framework Support
  667. * 238 Improvements to running 32 bit tests on a 64 bit system
  668. * 261 Add portable nunitlite build
  669. * 284 NUnitLite Unification
  670. * 293 CF does not have a CurrentDirectory
  671. * 306 Assure NUnit can write resultfile
  672. * 308 Early disposal of runners
  673. * 309 NUnit-Console should support incremental output under TeamCity
  674. * 325 Add RegexConstraint to compact framework build
  675. * 326 Add TimeoutAttribute to compact framework build
  676. * 327 Allow generic test methods in the compact framework
  677. * 328 Use .NET Stopwatch class for compact framework builds
  678. * 331 Alpha 2 CF does not build
  679. * 333 Add parallel execution to desktop builds of NUnitLite
  680. * 334 Include File-related constraints and syntax in NUnitLite builds
  681. * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite
  682. * 336 Document use of separate obj directories per build in our projects
  683. * 337 Update Standard Defines page for .NET 3.0
  684. * 341 Move the NUnitLite runners to separate assemblies
  685. * 367 Refactor XML Escaping Tests
  686. * 372 CF Build TestAssemblyRunnerTests
  687. * 373 Minor CF Test Fixes
  688. * 378 Correct documentation for PairwiseAttribute
  689. * 386 Console Output Improvements
  690. NUnit 3.0.0 Alpha 2 - November 2, 2014
  691. Breaking Changes
  692. * The console runner no longer displays test results in the debugger.
  693. * The NUnitLite compact framework 2.0 build has been removed.
  694. * 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.
  695. General
  696. * A separate solution has been created for Linux
  697. * We now have continuous integration builds under both Travis and Appveyor
  698. * The compact framework 3.5 build is now working and will be supported in future releases.
  699. New Features
  700. * The console runner now automatically detects 32- versus 64-bit test assemblies.
  701. * The NUnitLite report output has been standardized to match that of nunit-console.
  702. * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options.
  703. * Both nunit-console and NUnitLite now display output in color.
  704. * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha.
  705. * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown.
  706. * 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.
  707. Issues Resolved
  708. * 222 Color console for NUnitLite
  709. * 229 Timing failures in tests
  710. * 241 Remove reference to Microslft BCL packages
  711. * 243 Create solution for Linux
  712. * 245 Multiple targets on action attributes not implemented
  713. * 246 C++ tests do not compile in VS2013
  714. * 247 Eliminate trace display when running tests in debug
  715. * 255 Add new result states for more precision in where failures occur
  716. * 256 ContainsConstraint break when used with AndConstraint
  717. * 264 Stacktrace displays too many entries
  718. * 269 Add manifest to nunit-console and nunit-agent
  719. * 270 OneTimeSetUp failure results in too much output
  720. * 271 Invalid tests should be treated as errors
  721. * 274 Command line options should be case insensitive
  722. * 276 NUnit-console should not reference nunit.framework
  723. * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter
  724. * 282 Get tests for NUnit2XmlOutputWriter working
  725. * 288 Set up Appveyor CI build
  726. * 290 Stack trace still displays too many items
  727. * 315 NUnit 3.0 alpha: Cannot run in console on my assembly
  728. * 319 CI builds are not treating test failures as failures of the build
  729. * 322 Remove Stopwatch tests where they test the real .NET Stopwatch
  730. NUnit 3.0.0 Alpha 1 - September 22, 2014
  731. Breaking Changes
  732. * Legacy suites are no longer supported
  733. * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty)
  734. General
  735. * MsBuild is now used for the build rather than NAnt
  736. * The framework test harness has been removed now that nunit-console is at a point where it can run the tests.
  737. New Features
  738. * Action Attributes have been added with the same features as in NUnit 2.6.3.
  739. * TestContext now has a method that allows writing to the XML output.
  740. * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown.
  741. * Does prefix operator supplies several added constraints.
  742. Issues Resolved
  743. * 6 Log4net not working with NUnit
  744. * 13 Standardize commandline options for nunitlite runner
  745. * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions
  746. * 33 TestCaseSource cannot refer to a parameterized test fixture
  747. * 54 Store message and stack trace in TestContext for use in TearDown
  748. * 111 Implement Changes to File, Directory and Path Assertions
  749. * 112 Implement Action Attributes
  750. * 156 Accessing multiple AppDomains within unit tests result in SerializationException
  751. * 163 Add --trace option to NUnitLite
  752. * 167 Create interim documentation for the alpha release
  753. * 169 Design and implement distribution of NUnit packages
  754. * 171 Assert.That should work with any lambda returning bool
  755. * 175 Test Harness should return an error if any tests fail
  756. * 180 Errors in Linux CI build
  757. * 181 Replace NAnt with MsBuild / XBuild
  758. * 183 Standardize commandline options for test harness
  759. * 188 No output from NUnitLite when selected test is not found
  760. * 189 Add string operators to Does prefix
  761. * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally
  762. * 197 Deprecate or remove Assert.NullOrEmpty
  763. * 202 Eliminate legacy suites
  764. * 203 Combine framework, engine and console runner in a single solution and repository
  765. * 209 Make Ignore attribute's reason mandatory
  766. * 215 Running 32-bit tests on a 64-bit OS
  767. * 219 Teardown failures are not reported
  768. Console Issues Resolved (Old nunit-console project, now combined with nunit)
  769. * 2 Failure in TestFixtureSetUp is not reported correctly
  770. * 5 CI Server for nunit-console
  771. * 6 System.NullReferenceException on start nunit-console-x86
  772. * 21 NUnitFrameworkDriverTests fail if not run from same directory
  773. * 24 'Debug' value for /trace option is deprecated in 2.6.3
  774. * 38 Confusing Excluded categories output
  775. NUnit 2.9.7 - August 8, 2014
  776. Breaking Changes
  777. * NUnit no longer supports void async test methods. You should use a Task return Type instead.
  778. * 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.
  779. New Features
  780. * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel.
  781. * Async tests are supported for .NET 4.0 if the user has installed support for them.
  782. * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist
  783. * ExpectedResult is now supported on simple (non-TestCase) tests.
  784. * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored.
  785. * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit
  786. * TimeoutAttribute is now supported under Silverlight
  787. * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used.
  788. * You may now specify a tolerance using Within when testing equality of DateTimeOffset values.
  789. * The XML output now includes a start and end time for each test.
  790. Issues Resolved
  791. * 8 [SetUpFixture] is not working as expected
  792. * 14 CI Server for NUnit Framework
  793. * 21 Is.InRange Constraint Ambiguity
  794. * 27 Values attribute support for enum types
  795. * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types
  796. * 31 Report start and end time of test execution
  797. * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable
  798. * 45 Need of Enddate together with Ignore
  799. * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf
  800. * 62 Matches(Constraint) does not work as expected
  801. * 63 Async support should handle Task return type without state machine
  802. * 64 AsyncStateMachineAttribute should only be checked by name
  803. * 65 Update NUnit Wiki to show the new location of samples
  804. * 66 Parallel Test Execution within test assemblies
  805. * 67 Allow Expected Result on simple tests
  806. * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries
  807. * 75 Async tests should be supported for projects that target .NET 4.0
  808. * 82 nunit-framework tests are timing out on Linux
  809. * 83 Path-related tests fail on Linux
  810. * 85 Culture-dependent NUnit tests fail on non-English machine
  811. * 88 TestCaseSourceAttribute documentation
  812. * 90 EquivalentTo isn't compatible with IgnoreCase for char
  813. * 100 Changes to Tolerance definitions
  814. * 110 Add new platforms to PlatformAttribute
  815. * 113 Remove ExpectedException
  816. * 118 Workarounds for missing InternalPreserveStackTrace in mono
  817. * 121 Test harness does not honor the --worker option when set to zero
  818. * 129 Standardize Timeout in the Silverlight build
  819. * 130 Add FileAssert.Exists and FileAssert.DoesNotExist
  820. * 132 Drop support for void async methods
  821. * 153 Surprising behavior of DelayedConstraint pollingInterval
  822. * 161 Update API to support stopping an ongoing test run
  823. NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad.
  824. NUnit 2.9.6 - October 4, 2013
  825. Main Features
  826. * Separate projects for nunit-console and nunit.engine
  827. * New builds for .NET 4.5 and Silverlight
  828. * TestContext is now supported
  829. * External API is now stable; internal interfaces are separate from API
  830. * Tests may be run in parallel on separate threads
  831. * Solutions and projects now use VS2012 (except for Compact framework)
  832. Bug Fixes
  833. * 463470 We should encapsulate references to pre-2.0 collections
  834. * 498690 Assert.That() doesn't like properties with scoped setters
  835. * 501784 Theory tests do not work correctly when using null parameters
  836. * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one
  837. * 611325 Allow Teardown to detect if last test failed
  838. * 611938 Generic Test Instances disappear
  839. * 655882 Make CategoryAttribute inherited
  840. * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute
  841. * 671432 Upgrade NAnt to Latest Release
  842. * 676560 Assert.AreEqual does not support IEquatable<T>
  843. * 691129 Add Category parameter to TestFixture
  844. * 697069 Feature request: dynamic location for TestResult.xml
  845. * 708173 NUnit's logic for comparing arrays - use Comparer<T[]> if it is provided
  846. * 709062 "System.ArgumentException : Cannot compare" when the element is a list
  847. * 712156 Tests cannot use AppDomain.SetPrincipalPolicy
  848. * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40
  849. * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders
  850. * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute
  851. * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation
  852. * 756843 Failing assertion does not show non-linear tolerance mode
  853. * 766749 net-2.0\nunit-console-x86.exe.config should have a <startup /> element and also enable loadFromRemoteSources
  854. * 770471 Assert.IsEmpty does not support IEnumerable
  855. * 785460 Add Category parameter to TestCaseSourceAttribute
  856. * 787106 EqualConstraint provides inadequate failure information for IEnumerables
  857. * 792466 TestContext MethodName
  858. * 794115 HashSet incorrectly reported
  859. * 800089 Assert.Throws() hides details of inner AssertionException
  860. * 848713 Feature request: Add switch for console to break on any test case error
  861. * 878376 Add 'Exactly(n)' to the NUnit constraint syntax
  862. * 882137 When no tests are run, higher level suites display as Inconclusive
  863. * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside
  864. * 885173 Tests are still executed after cancellation by user
  865. * 885277 Exception when project calls for a runtime using only 2 digits
  866. * 885604 Feature request: Explicit named parameter to TestCaseAttribute
  867. * 890129 DelayedConstraint doesn't appear to poll properties of objects
  868. * 892844 Not using Mono 4.0 profile under Windows
  869. * 893919 DelayedConstraint fails polling properties on references which are initially null
  870. * 896973 Console output lines are run together under Linux
  871. * 897289 Is.Empty constraint has unclear failure message
  872. * 898192 Feature Request: Is.Negative, Is.Positive
  873. * 898256 IEnumerable<T> for Datapoints doesn't work
  874. * 899178 Wrong failure message for parameterized tests that expect exceptions
  875. * 904841 After exiting for timeout the teardown method is not executed
  876. * 908829 TestCase attribute does not play well with variadic test functions
  877. * 910218 NUnit should add a trailing separator to the ApplicationBase
  878. * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator
  879. * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute
  880. * 928246 Use assembly.Location instead of assembly.CodeBase
  881. * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner
  882. * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails
  883. * 1000213 Inconclusive message Not in report output
  884. * 1023084 Add Enum support to RandomAttribute
  885. * 1028188 Add Support for Silverlight
  886. * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory
  887. * 1037144 Add MonoTouch support to PlatformAttribute
  888. * 1041365 Add MaxOsX and Xbox support to platform attribute
  889. * 1057981 C#5 async tests are not supported
  890. * 1060631 Add .NET 4.5 build
  891. * 1064014 Simple async tests should not return Task<T>
  892. * 1071164 Support async methods in usage scenarios of Throws constraints
  893. * 1071343 Runner.Load fails on CF if the test assembly contains a generic method
  894. * 1071861 Error in Path Constraints
  895. * 1072379 Report test execution time at a higher resolution
  896. * 1074568 Assert/Assume should support an async method for the ActualValueDelegate
  897. * 1082330 Better Exception if SetCulture attribute is applied multiple times
  898. * 1111834 Expose Random Object as part of the test context
  899. * 1111838 Include Random Seed in Test Report
  900. * 1172979 Add Category Support to nunitlite Runner
  901. * 1203361 Randomizer uniqueness tests sometimes fail
  902. * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1"
  903. * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class
  904. * 1225542 Standardize commandline options for test harness
  905. Bug Fixes in 2.9.6 But Not Listed Here in the Release
  906. * 541699 Silverlight Support
  907. * 1222148 /framework switch does not recognize net-4.5
  908. * 1228979 Theories with all test cases inconclusive are not reported as failures
  909. NUnit 2.9.5 - July 30, 2010
  910. Bug Fixes
  911. * 483836 Allow non-public test fixtures consistently
  912. * 487878 Tests in generic class without proper TestFixture attribute should be invalid
  913. * 498656 TestCase should show array values in GUI
  914. * 513989 Is.Empty should work for directories
  915. * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests
  916. * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable
  917. * 590717 categorie contains dash or trail spaces is not selectable
  918. * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run
  919. * 595683 NUnit console runner fails to load assemblies
  920. * 600627 Assertion message formatted poorly by PropertyConstraint
  921. * 601108 Duplicate test using abstract test fixtures
  922. * 601645 Parametered test should try to convert data type from source to parameter
  923. * 605432 ToString not working properly for some properties
  924. * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0
  925. * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects
  926. NUnit 2.9.4 - May 4, 2010
  927. Bug Fixes
  928. * 419411 Fixture With No Tests Shows as Non-Runnable
  929. * 459219 Changes to thread princpal cause failures under .NET 4.0
  930. * 459224 Culture test failure under .NET 4.0
  931. * 462019 Line endings needs to be better controlled in source
  932. * 462418 Assume.That() fails if I specify a message
  933. * 483845 TestCase expected return value cannot be null
  934. * 488002 Should not report tests in abstract class as invalid
  935. * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite
  936. * 501352 VS2010 projects have not been updated for new directory structure
  937. * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum
  938. * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed
  939. * 523335 TestFixtureTearDown in static class not executed
  940. * 556971 Datapoint(s)Attribute should work on IEnumerable<T> as well as on Arrays
  941. * 561436 SetCulture broken with 2.5.4
  942. * 563532 DatapointsAttribute should be allowed on properties and methods
  943. NUnit 2.9.3 - October 26, 2009
  944. Main Features
  945. * Created new API for controlling framework
  946. * New builds for .Net 3.5 and 4.0, compact framework 3.5
  947. * Support for old style tests has been removed
  948. * New adhoc runner for testing the framework
  949. Bug Fixes
  950. * 432805 Some Framework Tests don't run on Linux
  951. * 440109 Full Framework does not support "Contains"
  952. NUnit 2.9.2 - September 19, 2009
  953. Main Features
  954. * NUnitLite code is now merged with NUnit
  955. * Added NUnitLite runner to the framework code
  956. * Added Compact framework builds
  957. Bug Fixes
  958. * 430100 Assert.Catch<T> should return T
  959. * 432566 NUnitLite shows empty string as argument
  960. * 432573 Mono test should be at runtime
  961. NUnit 2.9.1 - August 27, 2009
  962. General
  963. * Created a separate project for the framework and framework tests
  964. * Changed license to MIT / X11
  965. * Created Windows installer for the framework
  966. Bug Fixes
  967. * 400502 NUnitEqualityComparer.StreamsE­qual fails for same stream
  968. * 400508 TestCaseSource attirbute is not working when Type is given
  969. * 400510 TestCaseData variable length ctor drops values
  970. * 417557 Add SetUICultureAttribute from NUnit 2.5.2
  971. * 417559 Add Ignore to TestFixture, TestCase and TestCaseData
  972. * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2
  973. * 417564 TimeoutAttribute on Assembly