Notes:
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2002-2009 by Manfred Lange, Markus Renschler, Jake Anderson,
// and Piers Lawson. All rights reserved.
//
// This software is provided 'as-is', without any express or implied warranty.
// In no event will the authors be held liable for any damages arising from the
// use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not claim
// that you wrote the original software. If you use this software in a
// product, the following acknowledgement must be included in the product
// documentation:
//
// Portions Copyright © 2002-2009 by Manfred Lange, Markus Renschler,
// Jake Anderson, and Piers Lawson. All rights reserved.
//
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source distribution.
////////////////////////////////////////////////////////////////////////////////
csUnit 2.6 Release Notes
==========================
Last Change: March 28, 2008
IMPORTANT NOTES
===============
1/ Before installing this version, please make sure you uninstall
all previous csUnit versions.
2/ Please note the section about breaking changes before upgrading.
Visual Studio 2005/2008
=======================
This version has been tested on the following platforms:
- Vista SP1 en + VS2005
- Vista SP1 en + VS2008
- Windows XP SP3 en + VS2008
- Windows XP SP3 de + VS2008
.NET 3.x
========
This version can be used to test code for the .NET framework versions 2.0, 3.0,
and 3.5.
NUnit Support
=============
This version of csUnit has basic support for NUnit based unit tests. This
version has been tested with NUnit 2.4.7 for .NET 2.0. The following attributes
are currently supported:
- TestAttribute
- TestFixtureAttribute
- SetUpAttribute
- TestDownAttribute
- IgnoreAttribute
- ExpectedExceptionAttribute (Basic support)
Note, that you can use both the classic and the constraint based model for
assertions.
Microsoft Unit Testing Support
==============================
This version of csUnit has basic support for unit tests based on the Microsoft
Unit Testing framework. No recompile is required. The following attributes are
currently supported:
- TestClassAttribute
- ClassInitializeAttribute (Note: TestContext not yet supported)
- TestMethodAttribute
- ExpectedExceptionAttribute
Breaking Changes
================
csUnit 2.6 contains the following potentially breaking change. XML-Files
containing test results will report status with the first letter in upper
case than lower case, e.g. "Error" instead of "error". If you've created
integrations/automation with csUnit this may break your automated build.
Also, times for individual tests are now reported in milliseconds.
LICENSE
=======
See the license details in file license.txt in the csUnit installation folder
or in the About box of the GUI.
CHANGES
=======
A complete list of the modifications contained in this release can be found in
changes.txt, which is located in the installation directory.
More Information
================
For more information about csUnit please visit http://www.csunit.org.
Announcements
=============
Join the Yahoo!-group 'csunit' to receive csUnit related announcements.
Support
=======
For support please use
http://sourceforge.net/tracker/?group_id=23919&atid=380011
Bugs
====
For submitting a bug report please use
http://sourceforge.net/tracker/?group_id=23919&atid=380010
Please check whether your bug is a duplicate to an existing one. Thank you!
Feature Request
===============
To submit feature requests please use
http://sourceforge.net/tracker/?group_id=23919&atid=380013
Other Contact
=============
For all other inquiries please send email to one of the following
manfred at csunit dot org
piers at csunit dot org
markus at csunit dot org
jake at csunit dot org
--------------------------------------------------------------------------------
End of file.
Changes:
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2002-2009 by Manfred Lange, Markus Renschler, Jake Anderson,
// and Piers Lawson. All rights reserved.
//
// This software is provided 'as-is', without any express or implied warranty.
// In no event will the authors be held liable for any damages arising from the
// use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not claim
// that you wrote the original software. If you use this software in a
// product, an acknowledgment in the product documentation would be
// appreciated but is not required.
//
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source distribution.
////////////////////////////////////////////////////////////////////////////////
Changes fall into the following categories:
- Functionality
- Performance
- Usability
- Quality
Changes for csUnit 2.6
======================
Last change: March 28, 2009
1/ [09jun08, ml] [Quality]
Bug fix: csUnitRunner no longer crashes when sole argument is referring to a
non existing file or is a string with invalid characters for a file.
2/ [13jun08, ml] [Performance]
csUnitRunner: Put updating of some UI elements into idle processing to avoid
Control.Invoke() calls. This improved the performance of csUnitRunner by 20%
when running coreassemblies.recipe.
3/ [15jun08, ml] [Quality]
Renamed assembly csUnitCore to csUnit.Core for better consistency.
4/ [18jun08, ml] [Usability]
Search feature that was limited to just the test hierarchy tree replaced by a
generic search feature that works for all tabs.
5/ [25jun08, ml] [Functionality]
Added button to VS addin for building solution and running all tests in that
solution. This addresses SourceForge feature request SF1807652, see
http://sourceforge.net/support/tracker.php?aid=1807652
6/ [29jun08, ml] [Usability]
Search panel remembers last 10 search terms.
7/ [29jun08, ml] [Quality]
csUnitCmd now gives better feedback if a file is specified as a /assembly that
is neither a DLL or an EXE.
8/ [29jun08, ml] [Functionality]
All classes for data-driven testing (aka parameterized testing) moved from
csUnit.Experimental to csUnit.Data.
9/ [29jun08, ml] [Quality]
Bug fix: Putting a check mark on an assembly now executes the tests in that
assembly, when TestRunCheckCommand is executed.
10/ [30jun08, ml] [Functionality]
This may be a breaking change: XML-Files containing test results will report
status with the first letter in upper case than lower case, e.g. "Error" instead
of "error". Also, an failed test for an expected exception is reported with
error code "ExpectedExceptionNotThrown" instead of "failed". Also, times for
individual tests are now reported in milliseconds.
11/ [30jun08, ml] [Functionality]
csUnitRunner now has a menu entry for saving the test results as an XML file.
12/ [03jul08, ml] [Usability]
Updated all toolbar button icons. Added one additional toolbar button for
opening a recipe. Toolbar button icon for "Add Assembly" has changed.
13/ [12jul08, ml] [Quality]
Fixed bug regarding TestAttribute's Timeout property. This is now handled
properly.
14/ [28mar09, ml] [Quality]
Status of check boxes properly restored after test run.
15/ [28mar09, ml] [Quality]
Can select name spaces to execute tests.
16/ [28mar09, ml] [Quality]
Progress bar updates number of tests to correct figure when recipe is loaded.
17/ [28mar09, ml] [Functionality]
Migrated csUnit to .NET 3.5.
18/ [28mar09, ml] [Functionality]
Basic support for MSFT based unit testing.
--------------------------------------------------------------------------------
Changes for csUnit 2.5
======================
Last change: June 08, 2008
1/ [08may08, ml] [Quality]
Improved setup. It now creates a simplified addin file for both Visual Studio
2005 and Visual Studio 2008. Also it now removes those files reliably upon
uninstallation. Visual Studio 2005 didn't like the addin file in some instances.
2/ [08may08, ml] [Usability]
ExpectedException() now included in assertions count since it is in essence just
a short cut for Assert.ExceptionThrown(...) if the latter existed.
3/ [08may08, ml] [Functionality]
Added Assert.Contains<T>(T expected, IEnumerable<T> toBeSearched) and
Assert.Contains<T>(T expected, IEnumerable<T> toBeSearched, string
customMessage). Note that a linear search will be conducted. On large
collections this operation is very expensive.
4/ [12may08, ml] [Functionality]
ExpectedException can also be declared with specific instances. However, upon
comparison of expected and actual exception only the Message property will be
considered. MSFT's .NET documentation states: "The text of Message should
completely describe the error".
5/ [27may08, ml] [Usability]
GUI: When execution of a test suite has completed the first node that has an
error or failure will be scrolled to.
6/ [30may08, ml] [Usability]
GUI: By default nodes that are skipped are no longer expanded but indicated with
gray color only. Nodes that contain errors or failures are always expanded. An
option is available in the Options dialog box to expand skipped nodes as well.
7/ [30may08, ml] [Usability]
Setup: Installer now always installs for all users. This eliminates the need to
display the option during the setup and also simplifies the setup code.
8/ [30may08, ml] [Usability]
Setup: Installs recipe as a file extension associated with csUnitRunner.
9/ [31may08, ml] [Quality]
Bug fix: csUnitRunner accepts files with extensions dll, exe and recipe without
explicit option on the command line again. Note that the file must be the only
option on the command line.
10/ [08jun08, ml] [Quality]
Bug fix: SourceForge #1979183 "there are no 'build & run/debug/ tests' under
vs2008".
--------------------------------------------------------------------------------
Changes for csUnit 2.4
======================
Last change: April 27, 2008
1/ [25mar08, ml] (Quality)
FIX, csUnitRunner: SourceForge bug 169736 "Hiding toolbar doesn't resize
content"
2/ [25mar08, ml] (Usability)
NEW, csUnitRunner: Menu bar and tool bar can now be moved within the main
window. Tool bar and status bar can be hidden and the content adjusts its size
accordingly.
3/ [25mar08, ml] (Usability)
NEW, csUnitRunner: Main window has minimum size now.
4/ [26mar08, ml] (Usability)
NEW, csUnitControl: Added search panel for test hiearchy tab page. Double
clicking a row in the results view will hide the panel and select the node.
5/ [27mar08, ml] (Quality)
FIX, VS addin: SF1871927 "NullReferenceException when trying to use on non code
file."
6/ [27mar08, ml] (Quality)
FIX, VS addin: SF1894311 "csUnit Causes Errors in a CPP Solution"
7/ [29mar08, ml] (Usability)
NEW, VS addin: SF1599487 "Line numbers for assertions". Errors and failures are
currently reported in the task list in the "addins and macros" category.
8/ [31mar08, ml] (Quality)
FIX, csUnitRunner: "Check For Update" works again as designed.
9/ [31mar08, ml] (Functionality)
NEW: Added support for NUnit's TestFixtureAttribute, TestAttribute,
SetUpAttribute, and TearDownAttribute.
10/ [02apr08, ml] (Functionality)
NEW: csUnit now also counts assertions for NUnit based tests.
11/ [04apr08, ml] (Functionality)
NEW: csUnit identifies failed NUnit assertions.
12/ [05apr08, ml] (Functionality)
NEW: csUnit honors NUnit's IgnoreAttribute.
13/ [05apr08, ml] (Functionality)
NEW: Basic support for NUnit's ExpectedExceptionAttribute.
14/ [16apr08, ml] (Usability)
ENH: Test hierarchy: Tool tips over assemblies show properties in separate rows.
15/ [25apr08, ml] (Usability)
ENH: "Run Selected" is now called "Run This" to better reflect the actual
functionality.
16/ [26apr08, ml] (Quality)
FIX: SF 1925947: "Check Marks Removed When Running Tests"
17/ [26apr08, ml] (Usability)
ENH: Installs as an addin for both VS 2005 and VS 2008.
--------------------------------------------------------------------------------
Changes for csUnit 2.3
======================
Last change: March 24, 2008
1/ [23mar08, ml] (Quality)
FIX: SourceForge bug 1797256 "implementing derived class of abstract class
[TextFixture]".
2/ [24mar08, ml] (Quality)
FIX: The managed C++ sample didn't compile after the upgrade to VS2005.
3/ [24mar08, ml] (Quality)
FIX: CategoriesTests didn't pass in some cases. This is now fixed with an
improved Setup method.
4/ [24mar08, ml] (Quality)
FIX: Updated project settings for the sample Managed C++ project. It compiles
again.
5/ [24mar08, ml] (Usability)
NEW: zipsrc.bat now uses 7-zip command line (7za) instead of WinZip's command
line. This removes the need for a WinZip license to run the batch file.
6/ [24mar08, ml] (Usability)
FIX: Updated zipsrc.bat so that it works in the Subversion environment. All
source code of csUnit is now versioned using SourceForge's Subversion server.
For further details for accessing it please go to csUnit SourceForge presence at
http://www.sourceforge.net/projects/csunit
7/ [24mar08, ml] (Quality)
FIX: Depending on sequence reflection returns test fixtures, RecipeFactoryTests
and/or XmlDocumentFactoryTests were failing. This was intermittend depending on
recompile and/or code edits.
--------------------------------------------------------------------------------
Changes for csUnit 2.2.0
========================
Last change: July 03, 2007
1/
NEW: Added option to csUnitRunner for test hierarchy to automatically expand
when a recipe or an assembly is loaded. [31mar07, ml]
2/
NEW, csUnitRunner: Checked tests are saved within the recipe and restored when
the recipe is loaded. [01apr07, ml]
3/
NEW: Added support for DataRowAttribute as a first step for parameterized tests.
[04apr07, ml]
4/
NEW: Added Assert.Equals() override for arrays of objects. [04apr07, ml]
5/
NEW: Supports DataSourceAttribute with static methods and static properties as
a data feed for parameterized tests. [08apr07]
6/
NEW: Support for XML files as a data feed for parameterized tests. [08apr07, ml]
7/
NEW: Added support for Assert.Contains() for arrays. [12apr07, ml]
8/
NEW: Support of database tables as data source for parameterized tests. Data
sources can be all .NET data providers registered in the machine.config file.
[12apr07, ml]
9/
NEW: Option for choosing colors for the progress bar for improving accessability
for color-blind users. [16apr07, ml]
10/
CHANGE: Redesigned options dialog box to increase usability. [19apr07, ml]
11/
CHANGE: Settings now stored in config files rather than the registry.
[24apr07, ml]
12/
NEW: Can click on method in code window and execute selected test method.
[01may07, ml]
13/
NEW: Added Assert.AreInstanceOfType() for generic collections. [08may07, ml]
14/
FIX: Checking/unchecking a test suite, a namespace, a test class, or a test in
the test hierarchy view will update the check status of other nodes
appropriately. [03jul07, ml]
15/
NEW: Tests using a DataSource attribute for a SQL database don't require full
SQL Server license anymore. Minimum requirement is SQL Server 2005 Express
Edition. Also added a sample data base in csUnitCoreTest named
csUnitTestData.mdf to be used in conjunction with SQL Server 2005 Express
Edition.
[03jul07, ml]
--------------------------------------------------------------------------------
Changes for csUnit 2.1.2
========================
Last change: March 31, 2007
1/
More performance improvements. Overhead is now at approx. 2 seconds or 12.5% for
the core assemblies recipe. [29Apr2006, ml]
2/
NEW: csUnit now supports multiple categories. [31mar07, ml]
3/
CHANGE: More performance improvements. csUnit coreassemblies.recipe now runs at
a rate of 6,000 tests per minute on a decent notebook. [31mar07, ml]
4/
NEW: Added a reset button to test hierarchy view ("Tests" tab). Clicking the
button unchecks all tests and test hierarchy. [31mar07, ml]
5/
NEW: Category settings are serialized in recipe. [31mar07, ml]
6/
NEW: Category settings stored in the recipe are honored by the command line.
[31mar07, ml]
7/
CHANGE: Obsolete "Run Checked Tests" command, and removed the toolbar button and
the menu entries for it. The same functionality is now provided by checking and
unchecking tests and test fixtures, and then clicking the standard "Run" button.
The runtime environment will consider the checked/unchecked status as well.
[31mar07, ml]
8/
CHANGE: Removed the six projects csUnitCoreTest*.dll, and replaced them using
mocks. [31mar07, ml]
--------------------------------------------------------------------------------
Changes for csUnit 2.1.1 BETA
=============================
Last change: April 24, 2006
1/
NEW, csUnit.Ui.Controls: Output tab can now optionally show line numbers for the
console output. [01Apr2006, ml]
2/
NEW, csUnit.Ui.Controls: Output tab now has a button for copying the content of
the output to the clipboard. [01Apr2006, ml]
3/
NEW, csUnit.Ui.Controls: Added tool tips to the output tab. [01Apr2006, ml]
4/
NEW, csUnit.Ui.Controls: Progress bar now has tooltip showing the last executed
test. This tooltip is shown immediately and as long as the mouse is hovering
over the progress bar. [01Apr2006, ml]
5/
NEW, csUnit.Ui.Controls: Test hierarchy tab now has a tool tip. [01Apr2006, ml]
6/
CHANGE, csUnitCore: Performance approvements, approx. 45% throught the graphical
user interface. [01Apr2006, ml]
7/
NEW, csUnit.Ui.Controls: The test statistics tab has now tooltips.
[01Apr2006, ml]
8/
NEW, csUnit.Ui.Controls: The test statistics tab now also reports the estimated
overhead for the test run, and the average time per test.
9/
CHANGE, Test Statistics: Now uses high resolution timer for measuring test time.
[22Apr2006, ml]
--------------------------------------------------------------------------------
Changes for csUnit 2.1.0 BETA
=============================
Last change: March 31, 2006
1/
CHANGE, general: Moved entire code base to .NET 2.0. [18Mar2006, ml]
2/
CHANGE, csUnitRunner: Filler menu items are no longer created. Instead all
commands are collected first, then ordered by requested menu position, and
finally as many menu items are created as needed. This also saves some time
during startup. This change applies to both the menu item and the context menu.
Same change will be applied to the toolbar buttons at a later stage.
[18Mar2006, ml]
3/
CHANGE, general: Removed all warnings caused by moving code base to .NET 2.0.
Also changed code where additional runtime errors are detected by .NET 2.0
runtime. [18Mar2006, ml]
4/
CHANGE, csUnitCore: Recipe now has an additional event "AssemblyRemoving",
which is raised when an assembly is about to being removed from the recipe. The
"AssemblyRemoved" event is now fired AFTER the assembly has been removed.
[18Mar2006, ml]
5/
CHANGE, csUnitRunner: Removed all selection related events and introduced a new
SelectedItemsCollection, which provides an event CollectionChanged. Instead of
four specific events, the command target provides a SelectedItems property,
which returns a SelectedItemsCollection. The benefit is a slightly reduced
interface between the Commands and the MainForm. Also, the refactoring as a
consequence of this has simplified the implementation of several command
classes. [18Mar2006, ml]
6/
CHANGE, csUnitCore: Removed property TestsRunning from classes Loader and
RemoteLoader. Instead Recipe keeps track of whether tests are running or not
by using events. This reduces the amount of cross appdomain calls.
[18Mar2006, ml]
7/
NEW, csUnitRunner: Split command "Run Checked/Selected" into "Run Selected" and
"Run Checked" as they are two different things. Main menu item, toolbar button,
and entry in context menu are available. [18Mar2006, ml]
8/
CHANGE, csUnitRunner: Simplified the implementation of commands through more
substantial, merciless refactoring. Class Command is now down to just 6 public
members. Including extensive inline documentation, the entire class is now
just under 600 lines of code. [20Mar2006, ml]
9/
CHANGE, csUnitRunner: Filler buttons are no longer created. Instead all needed
information is collected first from the commands, then exactly as many toolbar
buttons as needed are created. This implementation avoids creation of unneeded
toolbar buttons and also avoids some copying of textual representations. The
startup time has been improved. See also change item 2 in this list.
[22Mar2006, ml]
10/
CHANGE, csUnit: ExpectedExceptionAttribute(System.Type, bool) is obsolete. If
an exception is expected then it is required in all cases. An expected exception
that is "not required" is in effect ignoring a thrown exception. If that is the
intended behavior it should be expressed in a try-catch statement in the test.
[25Mar2006, ml]
11/
CHANGE, csUnitCoreTest: mscoree is no longer required. A test that needed to
enumerate the number of AppDomain objects now uses a different approach to
determine whether an AppDomain has been unloaded successfully. As a consequence
the project for building mscoree was removed from the solution. [25Mar2006, ml]
12/
CHANGE, csUnit.Ui.Controls: Content of tabs of CsUnitControl are now in one
control each. This makes the csUnitControl class substantially smaller and is
at the same time an enabler for many new features. The design is more modular
as new tabs can be more easily added. The code is more maintainable.
[26Mar2006, ml]
13/
CHANGE, csUnitCore: The core no longer replaces out and error for the Console.
Instead it is intercepted and reset at the end of each test assembly.
[26Mar2006, ml]
14/
CHANGE, csUnit.Ui.Controls: The output tab now uses a fixed size font (Courier
New) so that output can be formatted with spaces. Lines are not wrapped around,
but a horizontal scrollbar will be displayed when a line becomes too long.
[26Mar2006, ml]
15/
NEW, csUnit.Ui.Controls: Added new "Categories" tab page. This page can be used
to determine which category of tests should be included in the test run. By
default all categories are included. You can however, change this on a per
recipe basis. In order to use categories either test assemblies, test fixtures
and/or test methods have to be decorated with the TestCategoryAttribute.
[28Mar2006, ml]
16/
CHANGE, setup2005: By default setup now suggests to install for all users.
[31Mar2006, ml]
--------------------------------------------------------------------------------
Changes for csUnit version 2.0.3
================================
Last change: March 23, 2006
Please note that version 2.0.3 has not been released yet. However, the bugfixes
have been carried forward to csUnit 2.1.0. Therefore they are listed here.
1/
BUGFIX, csUnitRunner, SourceForge Tracker ID 1447592: Console not always
redirected. [12Mar2006, ml]
2/
BUGFIX, csUnitRunner: Some methods for controls were not invoke on the proper
thread. Where these cases have been identified, these methods are now called
using Invoke() if InvokeRequired returns 'true'. [14Mar2006, ml]
3/
BUGFIX, csUnit: Added Assert.Equals(double, double) and Assert.Equals(double,
double, string). Furthermore added five additional tests to ensure that if any
of the double values is NaN (Not a number), the assertions still work properly.
[23Mar2006, ml]
--------------------------------------------------------------------------------
Changes for csUnit version 2.0.2
================================
Last change: March 11, 2006
1/
NEW, csUnit: Added Assert.DoesNotContain() in two versions for asserting that
a string is not contained in a second string. One of the overloads accepts as
a third parameter a custom message to be displayed when the assertion fails.
[03Mar2006, ml]
2/
CHANGE, csUnitCmd: No longer creates a default XML file if no XML option is
specified. If default XML file is need, please use /XML without a filename.
[06Mar2006, ml]
3/
NEW, csUnit: Added some missing tests to improve quality. [07Mar2006, ml]
4/
NEW, csUnit: TestAttributeFixtureAttribute available that can be used to
decorate a class in a test assembly. Within that class a method can be tagged
with the SetUpAttribute and another one can be tagged with TearDownAttribute.
The SetUp method will be executed once before any test in the test assembly is
run. The TearDown method will be executed after all configured tests in the test
assembly have been executed regardless of their outcome. [11Mar2006, ml]
--------------------------------------------------------------------------------
Changes for csUnit version 2.0.1
================================
Last change: February 11, 2006
1/
NEW, csUnit.Ui.Controls: Added project for all user controls which are shared
between different graphical user interface in csUnit, e.g. csUnitRunner and
csUnit4VS. [ml]
2/
NEW, csUnitVSWizard: Added support for the Add Project Item. Can now add a new
Test Fixture to an existing C#, VB7, VC7 or J# project. [pl]
3/
CHANGE, csUnitRunner: Rearranged menus to bring them more inline with standard
menu layouts. THe assembly Refresh command was also renamed Reload. [pl]
4/
CHANGE, ManagedCppDLL: Added examples of SetUp/TearDown and FixtureSetUp/
FixtureTeardown. [pl]
5/
NEW, csUnit4VS: added tool window for seamless integration. [ml]
6/
NEW, Added proxy authentication dialog. SF bug #828531. [mr]
7/
CHANGE, a few details of the proxy authentication window. [mr]
8/
CHANGE, csUnit4VS: The namespace has changed to csUnit.VSAddin. [ml]
9/
NEW, csUnit4VS: Can set breakpoints and execute command "Build and Debug Tests";
the breakpoints will be hit. [ml]
10/
NEW, csUnitCore: Added support for "Category" attributes in the Test and TestFixture
attributes. Now you can control which tests and fixtures get tested by specifying
a named category from the csUnitCmd command line. [jwa]
11/
CHANGE, csUnitCore: Changed the name of NullTestSpec to AllTestsTestSpec. [jwa]
12/
NEW, csUnitCore: Added TestName pattern matching using regular expressions. [jwa]
13/
CHANGE, csUnitCore, csUnitRunner: Changed the way event hookup occurs so that
event handlers can reliably be removed and added to events without creating new
instances of event handlers. [jwa]
14/
NEW, csUnitRunner: Added drop down boxes to select the test and fixture categories
for tests to run. These drop downs get disabled while tests are being run. [jwa]
15/
CHANGE, csUnitCore: Added invocation of the AssemblyAbort event when an unhandled
exception occurs while running an assembly in Loader.cs. This helps prevent
lockups of the UI when an internal (csUnit) error occurs. [jwa]
16/
NEW, csUnitControls: Added check boxes for all of the node items in the test
hierarchy tree. This will allow you to select more than one test case or such
to run using the "Run Selected" menu command. [jwa]
17/
CHANGE, csUnitCore: Fixed the start/finish lifecycle notification for Recipes.
Previously the Start event was being called each time an assembly was being
tested, which is contrary to the contract for the RecipeStarted event. Now
the RecipeStarted event is called at the start of a call to Recipe.RunTests
and RecipeFinished is called when it successfully terminates. [jwa]
18/
CHANGE, csUnitVSWizard: Fixed SourceForge bug # 948180. Added '.' as a valid
character for safe project names. [jwa]
19/
CHANGE, csUnitCmd: SourceForge bug # 922030. Removed references to the '/autorun'
switch since that switch is not relevant to the csUnitCmd executable. [jwa]
20/
NEW, csUnit: SourceForge bug # 919574. Added an IsRequired parameter to the
ExpectedException attribute. By default, the EE attribute denotes a required
exception, but the IsRequired parameter can be set to false which will make the
exception optional.
21/
NEW, csUnitRunner: SourceForge bug # 1003119. Added the counting of assertions
made during each test run. The statistics panel of csUnitRunner shows the
number of asserts, and a running tally is shown in the status panel. The XML
output also contains the number of assertions made in a test. [jwa]
22/
NEW, csUnitRunner: Added a run-all-checked command button to the toolbar. [jwa]
23/
NEW, csUnitRunner: Added support for output of XML reports from csUnitRunner
via the "/xml" command line switch. [jwa]
24/
NEW, csUnit: Added an inner exception parameter to a new ctor in the TestFailed
exception class. The output from TestFailed.ToString contains the inner
exception as well as the TestFailed exception message. [jwa]
25/
CHANGE, csUnitRunner: Added type-specific selection events to the MainForm
so that command buttons can register handlers for assembly selection, or
test fixture, test method, and recipe selection. This replaces the selected
items event that was raised when nodes were selected in the test hierarchy
tab.
26/
CHANGE, csUnitCmd: Refactored the csUnitCmd command line handler and the
DefaultXmlWriter to use thread monitors to mark when a recipe has finished.
This eliminates the sleep cycle in the DefaultXmlWriter.Join method. [jwa]
27/
CHANGE, csUnitCore: Fixed the CmdLineHandler to handle argument values
that are full paths, with spaces in the path names. This would cause the
file-type handler to not work for recipe files on paths that had spaces
in their names. [jwa]
28/
CHANGE, csUnitRunner: Updated the help text to reflect the new commands
that are available to the csUnitRunner. [jwa]
29/
CHANGE, csUnit: Added error handling during the execution of a test assembly
and the test methods. Now if an unhandled exception occurs, out of the testing
context, the appropriate events will get fired to keep csUnitRunner and csUnitCmd
operational. [jwa]
30/
CHANGE, csUnit.Interop.mscoree: Fixed the build steps in this project to correctly
use the user's path to find the type library tool. [pl]
31/
NEW, csUnit4VS: Added output of unit testing summary information to the
VS.NET output window. This output pane, named 'csUnit', will contain the final
console output from the unit tests and the statistics summary found in the
stats panel of the UI. [jwa]
32/
CHANGE, csUnit4VS: Lots of changes to hookup the event model to recipes and
tests in the Add-In so that it runs in a similar fashion to the csUnitRunner. [jwa]
33/
NEW, csUnitCore: Added a fileName and lineNumber parameter to the TestEventArgs
constructor so that error locations can be identified. [jwa]
34/
NEW, csUnit4VS: Added task list items to the VS.NET task list when tests error
or fail. The task list contains assembly and method name information where the
error occured. To see the csUnit tasks, right-click on the TaskList and select
the "Show Tasks -> csUnitTasks" menu item. [jwa]
35/
CHANGE, csUnit Installer: Added workaround for registering COM interop assemblies
using a Microsoft MSI installer. [pl]
36/
CHANGE, csUnit4VS: Changed the menu item creation process so that a UI menu bar
is not required on the main form of the AddIn for the context menu to contain
menu items for the commands. [jwa]
37/
CHANGE, csUnit4VS: Added recipe.close() command when a solution is closed. [jwa]
--------------------------------------------------------------------------------
Changes for csUnit version 1.9.2
================================
Last change: September 02, 2003
1/
FIX, csUnitRunner: Refresh on assembly no longer crashes. [ml]
--------------------------------------------------------------------------------
Changes for csUnit version 1.9.1
================================
Last change: August 29, 2003
1/
FIX, csUnitCore: If name of one test is prefix of a second test within the same
test fixture, the first test is no longer executed if the second is selected and
"Run Selected" is selected. [ml]
2/
NEW, csUnit: Updated XML comments and parameter names in order to increase
readability for Assert.Greater() and Assert.Less(). [mr]
--------------------------------------------------------------------------------
Changes for csUnit version 1.9.0 BETA
=====================================
Last change: August 13, 2003
1/
FIX, csUnitRunner: csUnitRunner calls AppDomain.Unload during shutdown.
(SF bug #734784) [ml]
2/
FIX, csUnitCore: Assert.Equals() honors when different types override Equals.
(SF bug #748345) [ml]
3/
CHANGE, csUnitCmd: /xml option honors path name. [ml]
4/
NEW, csUnitRunner: Run Failed Tests is a new option in the Test menu, and the
context menu. This will run the last batch of failed tests from the previous
test run. [jwa]
5/
FIX, csUnitRunner: Intermittent NullReferenceException caused by overrun of
application event queue during initial loading of assemblies. [jwa]
6/
CHANGE, csUnitCore: Made all test worker threads be backgrounded. [jwa]
7/
CHANGE: csUnit solution and projects migrated to VisualStudio .NET 2003. This
implies that csUnit will now be compiled against .NET 1.1. [ml]
8/
FIX, setup: icon file is now installed for csUnitCmd project. [ml]
9/
CHANGE, Mock.ConsoleRedirection: Made namespace consistent. [ml]
10/
FIX, csUnitCmdText: Removed a recursion leading to endless testing of csUnitCmd.
[ml]
11/
CHANGE, csUnitCore: Made TestAssembly.RunTests(ITestSpec) internal instead of
public. Test should be specified and started through Recipe only. [ml]
12/
FIX, csUnitCore: Set the current working directory to the directory containing
the assembly about to be tested. The working directory is restored after test
fixture has had its test executed. This allows tests, or the code being tested,
to load partially referenced assemblies. [pl]
13/
CHANGE, csUnitRunner: Changed the menu shortcut key for File/Exit from e to x
to match the standard letter used by most applications. [pl]
14/
FIX, csUnitRunner: When a test assembly is not found while loading a recipe,
csUnitRunner no longer crashes. Instead a warning is displayed in a dialog box.
[ml]
15/
NEW, csUnitRunner: Added support for /autorun option. When a recipe/assembly is
specified and also the /autorun option, the tests in that recipe/assembly are
executed automatically. [ml]
16/
NEW, setup: Added support for conditionally installing sources. Also, the option
"Everyone"/"Just for me" is honored now. Thanks, Jake, for your many hints! [ml]
17/
NEW, csUnitVSWizard: The first version of a project wizard has been added. It
supports C#, J#, and Visual Basic .NET. [pl]
18/
CHANGE, csUnitRunner: Status bar now shows test statistics and can be toggled on
or off. [pl]
19/
CHANGE, csUnitRunner: Progress bar now displays total number of tests, number of
executed tests and percentage complete. [pl]
20/
NEW, csUnitRunner: Added Toolbar. Toolbar can be hidden through the View menu.
[pl]
21/
NEW, csUnitRunner: Added option in Options dialog box for specifying whether or
not to expand error, warning, or skipped nodes in the test hierarchy tree. [ml]
22/
NEW, csUnitRunner: Test hierarchy tree is scrolled while tests are executed, so
that the last item executed is ensured to be visible. [ml]
23/
NEW, csUnitVSWizard: Added support for C++ to the project wizard. [pl, ml]
24/
CHANGE, csUnitRunner: Changed test hierarchy tree in that it no longer sets the
background color to the labels. Instead the background color of the node icons
is changed. This means the selected test and the result of a selected test are
visible at the same time. [ml]
25/
CHANGE, csUnitRunner: Failed tests are now indicated using yellow color. [ml]
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.8
================================
Last change: May 05, 2003
1/
FIX: csUnitRunner: Option /assembly takes relative path again.
2/
CHANGE: csUnitRunner and csUnitCmd now use app.config file for specifying the
.NET framework version. By default csUnit uses .NET 1.1, but switches back to
.NET 1.0, if 1.1 is not available.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.7
================================
Last change: April 27, 2003
1/
FIX, csUnitCore: Selecting a namespace node and clicking on "Run Selected" now
executes the tests in that namespace.
(SF bug #727492)
2/
NEW, csUnitRunner: F6 is now the hot key for running the selected tests from
the test hierarchy tab.
3/
FIX, csUnitRunner: Bug in ConsoleWriter that caused performance degradation of
testing unit tests that generated a lot of output.
4/
FIX, csUnit4VS: Minor modifications to the VS.NET integration command to work
with Visual J# projects as the startup project.
5/
NEW, JSharpDLL: Added ExpectedException test case.
6/
CHANGE, csUnitRunner: Click on the csUnit.org link will automatically close the
about dialog window.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.6
================================
Last change: April 23, 2003
1/
Fix, csUnitCore: Assembly is reloaded, when tests are started even when used
with a TestSpec.
(SF bug #723021)
2/
Fix, csUnitCore: Redirected output is now correctly updated.
(SF bug #723488)
3/
FIX, csUnit4VS: Directory is now even for VS.NET 2003 properly set to the
location of the output assembly when using "Build and Run Tests...".
(SF bug #723640)
4/
NEW, csUnitRunner: Pressing "Enter" is equal to clicking the "Run"/"Abort"
button, that is the "Run"/"Abort" button is now the default button on the main
form.
5/
NEW, csUnitRunner: The context menu in the test hierarchy tree contains three
new items: "Expand", "Collapse", "Expand All".
6/
CHANGE, csUnitRunner: The URL to the online documentation has been changed from
http://www.csunit.org/documentation/documentation.html to
http://www.csunit.org/documentation/index.html. Two reasons: a) consistency with
the rest of the web site (having an index.html in each directory) and b) the
ability to successfully serve the request http://www.csunit.org/documentation by
using a web server feature.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.5 Beta
=====================================
Last change: April 16, 2003
Number of tests for csUnit: csUnitTest: 68
csUnitRunner: 34
csUnitCore: 73
-------------------------
total: 175
1/
NEW, csUnitRunner: Added drag and drop for assemblies.
2/
NEW, csUnitRunner: Added option for loading most recently used assembly or
recipe. Option can be disabled.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.4 Beta
=====================================
Last change: April 15, 2003
Number of tests for csUnit: csUnitTest: 68
csUnitRunner: 34
csUnitCore: 73
-------------------------
total: 175
1/
FIX: "Run" button in csUnitRunner enabled, when a recipe is loaded using the
command line option.
2/
CHANGE: Added shortcuts to various menu items.
3/
NEW: Added menu item "Check for Updates".
4/
NEW: Add-In now also supports C++ projects.
5/
NEW: Added "Recent Recipies" handling.
6/
NEW: Added link to online documentation under the help menu.
7/
NEW: Added link to "Report a Bug" on SourceForge.
8/
FIX: TestFixtureAttribute will also be detected in derived test fixtures.
9/
NEW: Added support for custom failure message to all members of Assert class.
10/
NEW, csUnitRunner: Added support for running tests in a namespace (= test
suite) only.
11/
NEW, csUnitRunner: Added support for running tests of a selected TestFixture
only.
12/
NEW, csUnitRunner: Added support for running a single selected test method only.
13/
NEW, csUnitCore: Added support for Assert.ReferenceEquals().
14/
NEW, csUnitCore: Added support for Assert.Equals(Double, Double, Double
permittedDelta). Same for Single.
15/
FIX, csUnitCore: Improved support for Assert.Equals() when two numeric values
are compared.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.3 Beta
=====================================
Last change: March 31, 2003
Number of tests for csUnit: csUnitTest: 42
csUnitRunner: 34
csUnitCore: 57
-------------------------
total: 133
1/
CHANGE: Managed C++ sample is now a dynamic library (.dll) and demonstrates how
to use the Assert class.
2/
CHANGE: csUnitCmd no longer creates a mock result XML file. Instead it takes a
recipe on the command line and then creates an XML file for the recipe.
3/
NEW: .recipe will be registered as file type for csUnitRunner. Double-clicking
in Explorer launches csUnitRunner and loads the recipe.
4/
CHANGE: Selection of one assembly from a recipe allows to run just the tests in
this assembly.
5/
NEW: Added options dialog box with option for whether to ask for unsaved
modified untitled recipe upon closing csUnitRunner. The default is, that it does
NOT ask for saving modified "Untitled" recipe. This way, if a user does not want
to use recipes, the dialogbox upon closing csUnitRunner will not display.
6/
CHANGE: Removed the text box showing the full name of the assembly. As the full
name of all loaded assemblies is shown in the test hierarchy tree, there is no
need to duplicate the information.
7/
CHANGE: Cleanup of menu structure and UI of csUnitRunner in order to make it
simpler and easier to understand.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.2 Beta
=====================================
Last change: March 27, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 34
csUnitCore: 45
-------------------------
total: 123
1/
FIX: Exceptions thrown in FixtureSetUp and FixtureTearDown methods are properly
handled.
2/
NEW: Added support for ExpectedException attribute.
3/
CHANGE: Recipies store relatives paths now.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.1 Beta
=====================================
Last change: March 15, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 22
-------------------------
total: 110
1/
CHANGE: All event handler now have a signature according to the conventions
recommend by MS: delegate void <funtionName>(object sender, EventArgs).
2/
NEW: csUnitRunner displays usage message for command line options.
3/
NEW: Added csUnit command line tool. Name is csUnitCmd. Usage will be displayed
by entering "csUnitCmd /?" at the command line.
4/
NEW: Added support for FixtureSetUpAttribute and FixtureTearDownAttribute.
5/
CHANGE: The following methods of the Assert class are now marked as obsolete:
public static void AssertFalse(bool expression)
public static void AssertNotEquals(Object obj1, Object obj2)
public static void AssertTrue(bool expression)
public static void AssertEquals(Object expected, Object actual)
Their implementation is still there. However, they create warnings when compiled
and display messages about which method to used instead.
6/
NEW: csUnitCmd writes sample xml file ("csUnit.Results.xml") when option "/xml"
has been specified.
7/
FIX: Textbox of "Output" tab is now cleared before every test drive. Thanks to
Jake W. Anderson for providing this fix!
8/
FIX: Unknown command line options for csUnitCmd or csUnitRunner no longer crash.
Instead csUnitRunner displays a dialogbox with usage information; csUnitCmd
write usage to the console.
9/
NEW: Added command line option "/recipe:<recipePathName>" to csUnitRunner.
10/
CHANGE: Changed the installer so that it removes previous versions if they are
1.8.x or later, but older than the one to be installed.
--------------------------------------------------------------------------------
Changes for csUnit version 1.8.0 Beta
=====================================
Last change: March 13, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
FIX: Tests in csUnitTest pass again.
2/
FIX: If values for position or size of the csUnitRunner main form are not within
reasonable ranges they are adjusted.
3/
CHANGE: Internal message routing has been changed towards an event driven
design. Loader/RemoteLoader and some other classes have been moved to
csUnitCore. This increases testability and also improves the design.
4/
NEW: Double click on a line with a file name opens that file in Visual Studio
.NET.
5/
######## REMOVED:
In class Assert the following deprecated members have been deleted:
public static void assertEquals(Object expected, Object actual)
public static void assertNotEquals(Object obj1, Object obj2)
public static void assertTrue(bool expression)
public static void assertFalse(bool expression)
public static void fail()
The replacements have been available for a while. See Assert class.
########
6/
NEW: Added context sensitive menu to test hierarchy view with the items
"Run Recipe", "Run Assembly", "Expand All", "Collapse All".
7/
CHANGE: Improved resolving assemblies. Assemblies which are part of csUnit are
no longer loaded several times.
8/
NEW: Using the context sensitive menu in the test hierarchy, it is possible to
run the tests of only one test assembly.
9/
NEW: The csUnit add-in for Visual Studio adds a command on projects. Using this
command, the selected project will be built and the output will be loaded in a
new csUnitRunner instance. This command also works, if the select project is not
the startup project. The name of the command is "Build And Run Tests".
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.6
================================
Last change: April 05, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
FIX: Changed some form and control properties, so that csUnitRunner displays
properly, when "Large Fonts" have been selected for the screen.
2/
FIX: Output is now properly reset before each new run.
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.5
================================
Last change: March 27, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
NEW: Addin installs for VS.NET 2003 Final Beta (Everett) as well.
2/
CHANGE: Managed C++ sample now contains tests showing how to use class Assert.
Also, the settings of the Managed C++ project have been change so that the
output file is a dynamic library (.dll).
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.4
================================
Last change: March 08, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
FIX: csUnit Addin for VS crashed when output directory of test assembly was set
to an absolute path.
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.3
================================
Last change: February 25, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
NEW: Support for [Ignore] and [TestFixture]. Still tests written using the JUnit
style naming convention are still supported.
2/
CHANGE: Configuration files per assemblies no longer supported. Will be replaced
in a future version by a better mechanism.
3/
NEW: Results including reasons for skipping tests are now integrated into the
class hierarchy tree. Results tab is gone. This way it is easier to associate a
result with a test.
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.2 Beta
=====================================
Last change: February 21, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 14
-------------------------
total: 102
1/
NEW: csUnitRunner asks user if recipe has unsaved modified recipe upon closing
of the form. The same applies to creating a new recipe, or opening a different
recipe. In all three cases unsaved modified recipies will be detected and the
user will be offered a dialog to save the recipe. Thus no modification is lost.
2/
NEW: csUnitRunner indicates unsaved modified recipes using an asterisk in the
title of the main form.
3/
FIX: Changes in the selection using the "Select All" and the "Deselect All"
buttons are saved again in the test configuration files.
4/
NEW: Support for attributes [SetUp], [TearDown], [Test].
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.1 Beta
=====================================
Last change: February 18, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 11
-------------------------
total: 99
1/
NEW: Addin for VS.NET now also supports VB.NET projects.
2/
NEW: Improved drawing performance of test hierarchy tree by selectively suspending
layout.
3/
CHANGE: Changed extension for recipe files to ".recipe".
4/
FIX: Assemblies specified at the command line are now automatically loaded
again. This also affects for the addin.
5/
FIX: Unload of a selected assembly works now.
--------------------------------------------------------------------------------
Changes for csUnit version 1.7.0 Beta
=====================================
Last change: February 17, 2003
Number of tests for csUnit: csUnitTest: 44
csUnitRunner: 44
csUnitCore: 11
-------------------------
total: 99
1/
NEW: Added Assert.Null(). This method can be used for asserting that an object
reference is 'null'.
2/
NEW: Added Assert.Less() and Assert.Greater(). Both methods compare two objects,
which must implement the IComparable, and which must be of the same class.
3/
NEW: Added tab for redirected output of Console.Error and Console.Out (aka as
stderr and stdout). The implementation of this feature is a contribution of
Jake W. Anderson. Thank you!
4/
NEW: Added Assert.Contains() for two strings. Asserts that a first string is
contained in a second one.
5/
FIX of defect: XML-doc for Assert.StartsWith() lists parameters in wrong order.
6/
FIX of defect: "About" dialog box does not display all text properly.
7/
FIX of defect: In some cases entries are added to the statistics list even when
no tests are selected.
8/
NEW: Changed order of tabs on the main form. Now "Test Hierarchy" comes first,
then "Results", then "Statistics", then "Output". "Test Hierarchy" and "Results"
changed their places in order to reflect chronological order.
9/
NEW: csUnitRunner saves size and location between two sessions on a per-user
basis.
10/
NEW: Added concept of "Recipe". A recipe is a collection of one or more
assemblies containing tests. When loaded, each of the assemblies listed in the
recipe is loaded. When run, the tests in each assembly are executed. Messages,
counters, statistics, and console output is consolidated for all of the
assemblies.
11/
NEW: Color code has been extended: green is used for successful tests, red for
tests with errors, yellow is used for tests with failures, blue is used for
skipped tests.
12/
NEW: Automatically expands nodes, when a test has failed or an error has
occured.
--------------------------------------------------------------------------------
Changes for csUnit version 1.6.0
================================
Last change: January 04, 2003
Number of tests for csUnit: 62 (32 csUnit, 18 csUnitRunner, 12 csUnitCoreTest)
csUnitTest: 32
csUnitRunner: 27
csUnitCore: 12
-------------------------
total: 71
1/
Moved "About" from tab to menu. "About"-box retrieves csUnitRunner assembly
version from the assembly itself (had to be maintained manually in the past).
2/
Added shortcuts for "Load Assembly..." and "Tests - Run":
- Ctrl + "L" opens the "Load Assembly" dialog
- Ctrl + "R" runs the tests of the currently loaded assembly
3/
Added tab "Statistics", which displays how much time was spent in each test
method thus helping to identify tests, which take too much testing time.
Reducing testing time helps increasing the number of integrations and is
therefore a means for increasing productivity. The statistics tab also contains
a column with the percentage of total execution time of each test.
4/
Added "Recent Assemblies" menu item. The 10 most recently loaded assemblies are
remembered and are available through the menu. This feature increases
productivity as it is no longer necessary to click through paths in the "Open
Assembly" dialog box.
5/
Changed some namespace names for better consitence across the different csUnit
projects:
csUnit
csUnit.Core
csUnit.Core.Test
csUnit.DefEnvIntegration
csUnit.Test
csUnit.Runner
csUnit.Runner.Test
example
Namespace 'example' is the only exception, as it is used for testing purposes,
and the source code within it serves as an example at the same time.
6/
Added "Reload" command (shortcut F5) for reloading the current assembly. This
button is disabled while tests are running or while no assembly is loaded.
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.6
================================
Last change: November 27, 2002
Number of tests for csUnit:
csUnitTest: 32
csUnitRunner: 22
-------------------------
total: 54
1/
Fix: Setup()/TearDown() is now called before/after each test method. This is the
same behavior as with other unit testing frameworks.
2/
Change: Messages are now displayed in a tree structure. Call stacks can now
more easier be associated with reported errors or failures.
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.5
================================
Last change: November 24, 2002
Number of tests for csUnit:
csUnitTest: 32
csUnitRunner: 21
example: 6
-------------------------
total: 59
1/
Fix: csUnit4VS integration now also load assemblies properly, which are located
in a path containing spaces.
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.4
================================
Last change: November 21, 2002
Number of tests for csUnit:
csUnitTest: 32
csUnitRunner: 21
example: 6
-------------------------
total: 59
1/
Fix: Assemblies with a dot in their names are now loaded properly. Thanks to
Chris Jaynes for his help on finding and fixing this issue!
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.3
================================
Last change: November 18, 2002
Number of tests for csUnit:
csUnitTest: 32
csUnitRunner: 21
example: 6
-------------------------
total: 59
1/
Fix: Exception in Setup() of test class is now properly handled.
2/
Fix: Exception in TearDown() of test class is now properly handled.
3/
Fix: Exception in default constructor of test class is now properly handled.
4/
Test classes (fixtures), which have no configured tests, are no longer
instantiated. This improves runtime performance.
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.2
================================
Last change: November 14, 2002
Number of tests for csUnit: 50 (32 csUnit, 18 csUnitRunner)
1/
Fix: Run command in menu is now disabled while no assembly is loaded.
2/
Fix: When assembly containing tests is an application, then the content of the
config file is accessible using ConfigurationSettings.AppSettings() in tests.
Thanks to Tamegai Masahiro for his help on solving this issue.
--------------------------------------------------------------------------------
Changes for csUnit version 1.5.1
================================
Last change: November 4, 2002
Number of tests for csUnit: 45 (32 csUnit, 13 csUnitRunner)
1/
Fix: Test hierarchy tree is updated, when assembly is reloaded.
--------------------------------------------------------------------------------
Changes for csunit version 1.5.0
================================
Last change: October 29, 2002
Number of tests for csUnit: 45 (32 csUnit, 13 csUnitRunner)
1/
Removed obsolete files "Web*.cs" from project csunitRunner.
2/
Main Form (Application Window) is now resizable.
3/
Narrowed interface ITestListener in order to reduce cross AppDomain traffic.
4/
Added Assert.Fail(String message). Instead of using a standard message, this
can be used to display a custom message. In csUnitRunner, this will show up as
"Failure! <message>" followed by the location, where Fail() was called.
5/
Moved all classes of csUnitRunner into new namespace csUnitRunner.
6/
csUnitRunner can now test itself: The debug version contains test cases for
testing csUnitRunner.
7/
Made class csunit.Assert abstract, as it contains only static methods, and as it
does not make sense to instantiate the class.
8/
Renamed all methods in class csunit.Assert() in order to safe typing. However,
the old methods are still available for backward compatibility. Also, the tests
for the old methods are still there (see class LegacyAssertTest). This is (for
now!) the last renaming of these methods.
9/
FIX: Assert.AssertFalse()/Assert.assertFalse()/Assert.False() throws
TestFailed() exception with wrong message.
10/
Added application icon.
11/
Added integration of csUnitRunner into Visual Studio .NET. As a first step,
csUnitRunner can be started from within the development environment.
csUnitRunner tries to determine the active C# project, builds it and takes it
as a paramter for the command line option "/assembly:".
12/
Added two text boxes dialogs which are intended to help in case an assembly
cannot be loaded.
13/
Added csUnit.Assert.Contains(String, String[]): asserts, that a string is in an
array.
14/
Added csUnit.Assert.StartsWith(String, String): asserts, that a string starts
with a specified substring.
15/
Added counters for number of executed tests. Also displays number of errors,
failures, and skipped tests.
16/
Added display of assembly info (name, version, culture, publik key token), e.g.
"example, Version=1.5.0.34534, Culture=neutral, PublicKeyToken=null"
17/
Selected tests are now stored in XML format. The file "csUnitRunner.test.config"
is stored in the directory where the assembly with the test is located.
--------------------------------------------------------------------------------
Changes for csunit version 1.4.2
================================
Last change: October 28, 2002
This is a maintenance release. No new features have been added.
1/
Fix: Path specifications for the /assembly command line switch can now also
contain driver letters, e.g.
"c:\program files\csunit\csunit1.4.2\csunitRunner.exe
/assembly:c:\projects\csunit\example\bin\Debug\example.dll"
--------------------------------------------------------------------------------
Changes for csunit version 1.4.1
================================
Last change: September 29, 2002
This is a maintenance release. No new features have been added.
1/
FIX: Removed recursion in Assert.AssertFalse(bool expression).
2/
Change: Added attribute "[EditorBrowsable(EditorBrowsableState.Never)]" to
"deprecated" methods in class Assert. For backward compatibility, the old
methods are still there; however, they are no longer shown by intellisense.
3/
Added tests for Assert.AssertEquals() and Assert.AssertNotEquals() with null
parameters.
--------------------------------------------------------------------------------
Changes for csunit version 1.4
==============================
Last change: September 26, 2002
1/
Fix: assembly is now loaded, when specified on the command line.
Added test for command line parameter /assembly. The syntax for the command line
parameter of csunitRunner is now:
csunitRunner /assembly:<assemblyPathName>
where <assemblyPathName> represents the absolute or relative path to the binary
representing the assembly.
2/
Added project 'example'. It contains a dll with a single test, which can be used
as a template for your own tests.
3/
Added a few files to the MSI file, which were missing such as 'app.ico'.
4/
Change naming convention accoding to Microsoft standard, e.g. method names start
with upper case. Due to this, the lower case methods setUp(), tearDown(), and
all the test methods 'test...()' should be renamed. Currently csunitRunner is
backward compatible. However, all methods in csunit.Assert have been renamed as
well. If you are using any of them you need to rename them as well.
5/
csunitRunner keeps the settings for the hierarchy tree between two test runs.
This includes whether a test or a test class was selected or not and whether a
class was expanded or not.
6/
csunitRunner keeps the settings for the hierarchy tree also between two
sessions, that is after csunitRunner has been closed and restarted.
--------------------------------------------------------------------------------
Changes for csunit version 1.3
==============================
Last change: September 20, 2002
1/
Fix: Unloads assembly also upon abort. Unload happens in separate unload worker
thread in order to avoid AppDomain.Unload() from 'hanging'.
2/
Moved tabs in the GUI from top to bottom, same way as with JUnit.
3/
Fix: csunitRunner has now the attribute [STAThread()] in order to avoid
deadlocks on certain MS platforms.
4/
Fix: Detects, if a test class is public, but its default constructor not.
5/
Removed duplicate loading of assembly and retrieval of test case through
reflection.
--------------------------------------------------------------------------------
Changes for csunit version 1.2
==============================
Last change: August 26, 2002
1/
csunit runs now in its own process. The name of the executable is csunitRunner,
which is installed into <program files>/csunit.org/csunit. So now there are two
binaries: csunit.dll (contains the base classes for tests) and csunitRunner.exe,
which loads and executes the tests.
2/
All exported, non-abstract types derived from TestCase will be checked for
tests. Assembly to be checked is selected through a file-open-like dialog box.
The assembly can be either a dll or an executable.
3/
Instead of self implemented exception class IllegalArgumentException, csunit
now uses ArgumentException, which is part of the .NET framework.
4/
Baseclass TestCase is obsolete now. Requirements for classes containing tests
are:
- Class name ends with "Test" ('T' is upper case)
- test methods are public void and start with "test" ('t' is lower case)
5/
Assembly can be specified as command line parameter:
csunitRunner <assemblyPathName>
where <assemblyPathName> represents the absolute or relative path to the binary
representing the assembly.
6/
csunitRunner can stay open, while rebuilding the binary containing the tests.
csunitRunner reloads the binary before each run, but does not deny writing a
new version.
7/
csunit is now visible in the .NET tab of the "Add References" dialog box of
Visual Studio .NET. VS.NET needs to be restarted after an installation so that
the settings are re-read.
--------------------------------------------------------------------------------
Changes for csunit version 1.1
==============================
Last change: August 15, 2002
1/
The tree view with the test cases now has checkboxes. Check items will be
executed. Non-checked not.
2/
The test hierarchy tab now has two buttons to select / deselect all items.
3/
Removed a couple of now superfluous Refresh() calls.
--------------------------------------------------------------------------------
Changes for csunit Version 1.0.1
================================
Last change: August 05, 2002
1/
All binaries are now signed with a strong key.
2/
Setup installs csunit into global assembly cache (GAC).
3/
Test are executed in a separate worker thread, so that UI remains responsive.
Also, long running tests can be aborted. This is handled by the framework.
4/
Added some more test cases.
///////////////////////////////////////////////////////////////////////////////
// End of file
///////////////////////////////////////////////////////////////////////////////
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use