CHANGES.txt 65 KB

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