1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<!-- Standard Head Part -->
<head>
<title>NUnit - ReleaseNotes</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-US">
<link rel="stylesheet" type="text/css" href="nunit.css">
<link rel="shortcut icon" href="favicon.ico">
</head>
<!-- End Standard Head Part -->
<body>
<!-- Standard Header for NUnit.org -->
<div id="header">
<a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
<div id="nav">
<a href="http://www.nunit.org">NUnit</a>
<a class="active" href="index.html">Documentation</a>
</div>
</div>
<!-- End of Header -->
<div id="content">
<style><!--
li { padding-bottom: .5em; }
ul ul li { padding-bottom: 0; }
dt { font-weight: bold }
--></style>
<h2>Release Notes</h2>
<h3>NUnit 2.4 Beta 1 Release (2.3.6162) - June 11, 2006</h3>
<h4>General</h4>
<ul>
<li>Additional NUnit tests now pass under Linux. Those that do not have
been excluded using the Platform attribute.
</ul>
<h4>Framework</h4>
<ul>
<li>Added a Reason property to ExplicitAttribute, for use in explaining why a test is marked Explicit.
<li>Multiple SetUp or TearDown methods now give a more meaningful error message.
</ul>
<h4>Console</h4>
<ul>
<li>The console now outputs test failures to Trace all the time, not just
when running under the debugger. You will see clickable trace output in
Visual Studio even if you use the Start Without Debugging menu item.
</ul>
<h4>Gui</h4>
<ul>
<li>Added Test Menu with entries for running the selected test, all tests or failed tests.
<li>Instead of displaying a dialog box, unhandled exceptions now display in the
Errors & Failures tab, with an indication of the test that was running
when the exception was thrown. The test itself is not shown as a failure,
(unless it failed for some other reason, since it may not have caused the
exception. The progress bar turns red if any unhandled exceptions are thrown.
<li>The GUI no longer crashes when reloading assemblies with added or deleted
tests.
</ul>
<h3>NUnit 2.4 Alpha Release (2.3.6142) - May 22, 2006</h3>
<h4>General</h4>
<ul>
<li>The source code directory structure has been reorganized to separate NUnitFramework and
NUnitCore.
<li>A new nunit.common assembly isolates core interfaces.
<li>The following assemblies are now strongly named: nunit.mocks, nunit.core.extensions
and nunit.framework.extensions
<li>NUnit may now be installed by non-administrators, subject to any security
restrictions imposed by the particular site.
<li>The .Net 2.0 builds of NUnit are now called "NUnit for .Net 2.0"
<li>The NAnt build script has been simplified and now consists only of the
<b>nunit.build</b> and <b>nunit.build.include</b> files.
<li>The NAnt build script now has a target for building under the Mono 2.0 profile.
<li>NUnit is now been built and tested using both Microsoft .Net (1.0, 1.1, 2.0) and Mono
(1.0 and 2.0 profiles).<br><br>
<b>Note:</b> in the Alpha release, a number of tests are skipped
when running under Linux or Unix.
</ul>
<h4>Framework</h4>
<ul>
<li>A new CollectionAssert class has been added. It supports the following methods:
<dl style="margin-left: 2em">
<dt>AllItemsAreInstancesOf
<dd>Tests that all members of a collection are instances of a class
<dt>AllItemsAreNotNull
<dd>Tests that all collection members are non-null.
<dt>AllItemsAreUnique
<dd>Tests that all collection members are unique
<dt>AreEqual / AreNotEqual
<dd>Test whether two collections are equal, having the same members in the same order
<dt>AreEquivalent / AreNotEquivalent
<dd>Test whether two collections are equivalent, having the same members without regard to order
<dt>Contains / DoesNotContain
<dd>Test whether a collection contains a particular object
<dt>IsSubsetOf / IsNotSubsetOf
<dd>Test whether one collection is a subset of another
<dt>IsEmpty / IsNotEmpty
<dd>Test whether a collection is empty or not
</dl><p><p>
<b>Note:</b> In the Alpha release, IsEmpty, IsNotEmpty and Contains also continue
to be available in the Assert class. We will be seeking feedback to determine
whether these methods should be removed.
<li>A new FileAssert class has been added. It supports the following methods:
<dl style="margin-left: 2em">
<dt>AreEqual( Stream, Stream )
<dt>AreEqual( FileInfo, FileInfo )
<dt>AreEqual( string, string )
<dt>AreNotEqual( Stream, Stream )
<dt>AreNotEqual( FileInfo, FileInfo )
<dt>AreNotEqual( string, string )
</dl>
<li>The following new methods have been added to the Assert Class:
<dl style="margin-left: 2em">
<dt>Assert.GreaterOrEqual()
<dt>Assert.LessOrEqual()
</dl>
<li>The following new overloads have been added to the Assert class:
<dl style="margin-left: 2em">
<dt>Assert.AreEqual( long, long )
<dt>Assert.AreEqual( ulong, ulong )
<dt>Assert.AreNotEqual( long, long )
<dt>Assert.AreNotEqual( ulong, ulong )
</dl>
<li>The following Asserts have been re-implemented in terms of AreEqual and
AreNotEqual in order to provide clearer messages when they fail:
<dl style="margin-left: 2em">
<dt>IsTrue / IsFalse
<dt>IsNull / IsNotNull
<dt>IsNaN
<dt>IsEmpty / IsNotEmpty (string only)
</dl>
<li>A new PropertyAttribute allows setting arbitrary named properties on test
cases and fixtures. NUnit makes no use of these properties
but they may be accessed from the tests via reflection.
<li>ExpectedExceptionAttribute now takes an optional third argument to specify
how the expected message should be matched. In addition to an exact match,
as now, you may specify a string which should be contained in the message
or a regular expression to be matched against the actual message.
</ul>
<h4>Core</h4>
<ul>
<li>When multiple assemblies are loaded, they may use a single AppDomain, as now,
or a separate AppDomain for each assembly. The new option provides greater
isolation of the tests and allows use of separate config files for each assembly.
<br><br>
<b>Note:</b> In the Alpha release, separate config files are required when
this option is used, even if an NUnit project is loaded.
<li>The automatic creation of test suites for each namespace is now optional. When
the creation of these suites is suppressed, the fixtures are loaded as a simple
flat list, without any hierarchy imposed.
<li>When multiple assemblies are loaded, the tests may optionally be merged. If
automatic namespace suites are enabled, namespaces are merged across assemblies.
This option is only available if a single AppDomain is used.
<li>The fixture object is created for the life of the test run and is no longer
reused on subsequent runs. If the object implements IDisposable, Dispose
is called before destroying it.
<li>The current directory is set to the location of the test assembly before
running each fixture. This change facilitates running fixtures in any order
and eliminates interference between fixtures that change the current directory.
<li>Non-public fixture classes are treated as non-runnable and display a warning
message rather than being silently ignored.
<li>A new SetUpFixture allows one-time SetUp and TearDown at the level of a
NameSpace or for an entire assembly.<p><p>
<li>The TestRunner no longer passes "live" tests back to the gui or console.
Instead, a data class that encapsulates the info about the test is sent.
<li>Registry settings are now stored under nunit.org. Old settings are migrated
automatically when the application is first run.
<li>When the default config for a test project is set to "NUnitAutoConfig"
the configuration of the current NUnit build is automatically selected
for the tests, if available. This is intended for use by NUnit developers.
</ul>
<h4>Console</h4>
<ul>
<li>When multiple assemblies are passed on the command line, the console runner
now loads those assemblies into separate AppDomains. Separate config files
should be provided for each assembly in this case.
<li>The <b>/include</b> and <b>/exclude></b> options may now be combined on
the command line. When both are used, all tests with the included categories
are run except for those with the excluded categories.
</ul>
<h4>Gui</h4>
<ul>
<li>The gui executable is now called "nunit.exe" rather than "nunit-gui.exe"
<li>There is a new option to automatically re-run the test whenever
a change is detected.
<li>A new "mini-gui" configuration may be selected from the View menu. This
display consists of the tree view area only. All info about the tests may
be accessed via the properties display or by returning to the full gui.
<li>The following additional Gui customizations are also available through the
View menu:
<ul>
<li>The font used in the Gui may be changed
<li>The four info tabs on the right may be turned on or off
<li>The status bar may be removed
</ul>
<li>Menu items pertaining to expansion and collapse of the tree have been moved
to the Tree submenu of the View menu.
<li>The Options dialog has been reorganized to add new options for running tests
and to better group similar items.
<li>The Test Properties dialog has been reorganized to display all info on a
single page and to more clearly show the status of the test.
<li>The icons used for tests in the tree view now show test status by use of
symbols, in addition to their color:
<dl style="margin-left: 2em">
<dt>Not Run
<dd>Grey circle
<dt>Success
<dd>Green circle with a check mark in it
<dt>Failure
<dd>Red circle with an X mark in it
<dt>Ignored
<dd>Yellow circle with a question mark in it
</dl>
<li>For further customization of the icons, users may modify or replace the
files Success.jpg, Failure.jpg or Ignored.jpg in the NUnit bin directory.
<li>Tests that are not run due to the Explicit or Platform attributes are no
longer considered as Ignored. They remain marked as grey in the gui and
do not affect the color of the progress bar.
<li>Wordwrap may be turned on and off in the 'Errors and Failures' tab by use
of a checkbox at the bottom of the tab.
</ul>
<h4>Extensibility</h4>
<ul>
<li>NUnit now supports three types of core addins:
<dl style="margin-left: 2em">
<dt>SuiteBuilders
<dd>Allow an extender to provide new types of test fixtures with
their own behavior.
<dt>TestCaseBuilders
<dd>Allow an extender to provide new types of test cases, either
as a part of a custom test fixture or within a standard NUnit
fixture.
<dt>TestDecorators
<dd>Allow an extender to modify the behavior of
a standard or custom test case or fixture. This is a good
choice for implementing attributes that should apply to
various types of tests.
<dd>
</dl>
<li>Addin assemblies may now be deployed by copying them assembly to the
NUnit <b>bin/addins</b> directory.
<li>Extensions distributed as part of NUnit are now divided between the two
assemblies nunit.core.extensions and nunit.framework.extensions. Only the
latter is intended to be referenced by user tests.
<li>This Alpha release of NUnit provides only one internal extension: the Repeat
attribute may be applied to test cases to cause them to run a number of
times. The extensions emulating CsUnit and VSTS tests, which were included
experimentally in recent versions of NUnit 2.2 have been removed and will
be distributed separately.
<li>Several trivial examples, which were formerly part of the extensions
assmebly are now included as samples.
<li>Documentation for NUnit's extensibility features is still in preparation.
</ul>
<h3>Earlier Releases</h3>
Cumulative notes through NUnit 2.2 are available <a href="docs/2.2.8/releaseNotes.html">here</a></h3>
</div>
<!-- Submenu -->
<div id="subnav">
<ul>
<li><a href="index.html">NUnit 2.4 Beta 1 Release</a></li>
<ul>
<li><a href="getStarted.html">Getting Started</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="features.html">Features</a></li>
<li><a href="nunit-console.html">Console Runner</a></li>
<li><a href="nunit-gui.html">Gui Runner</a></li>
<li id="current"><a href="releaseNotes.html">Release Notes</a></li>
<li><a href="samples.html">Samples</a></li>
<li><a href="license.html">License</a></li>
</ul>
</ul>
</div>
<!-- End of Submenu -->
<!-- Standard Footer for NUnit.org -->
<div id="footer">
Copyright © 2002-2005. All Rights Reserved.
</div>
<!-- End of Footer -->
</body>
</html>
|