| <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" |
| content="text/html; charset=iso-8859-1"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| <meta name="Author" content="Erich Gamma & Kent Beck"> |
| <title>JUnit 3.8</title> |
| </head> |
| <body> |
| <h1> |
| <b><font color="#00cc00">J</font><font color="#ff0000">U</font><font |
| color="#000000">nit |
| 3.8.2</font></b></h1> |
| <hr width="100%"> |
| <font color="#000000"><br> |
| 11/11/2004<br> |
| </font> |
| <ul> |
| <li><font color="#000000"><a href="#Summary%20of">Summary of Changes</a></font></li> |
| <li> |
| <font color="#000000"><a href="#Contents">Contents</a></font></li> |
| <li> |
| <font color="#000000"><a href="#Installation">Installation</a></font></li> |
| <li> |
| <font color="#000000"><a href="#Getting">Getting Started</a></font></li> |
| <li> |
| <font color="#000000"><a href="#Documentation">Documentation</a></font></li> |
| </ul> |
| <h2> |
| <font><a name="Summary of"></a><font color="#000000">Summary of Changes |
| between 3.8.1 and 3.8.2</font></font></h2> |
| <font color="#000000">The changes between the versions are minimal and |
| the focus was on fixing the accumulated bug reports. The most |
| signifanct change is replacing the much-reviled string comparison |
| format with something easier to read and use.<br> |
| </font> |
| <ul> |
| <li>ComparisonFailure shows context. <br> |
| </li> |
| <ul> |
| <li>assertEquals("Mary had a little lamb", "Mary had the little |
| lamb") shows: expected:<Mary had [a] little lamb> but |
| was:<Mary had [the] little lamb><br> |
| Longer prefixes and suffixes are truncated to a fixed size (currently |
| 20):</li> |
| <li>expected:<...st of the emergency [broadcasting] |
| system> but was:<...st of the emergency [locating] system><br> |
| </li> |
| </ul> |
| <li><font color="#000000">Running single tests. |
| junit.ui.TestRunner can be invoked with "-m</font> ClassName.testName" |
| to run a single test.</li> |
| <li>TestSuite(Class[]). |
| There is a new TestSuite constructor that takes an array of classes as |
| a parameter and returns a suite of suites, each of which is constructed |
| from a single class.</li> |
| </ul> |
| <h3><font><font color="#000000">Closed Bugs/Patches and Enhancment |
| Requests<br> |
| </font></font></h3> |
| <ul> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=698067&group_id=15278&atid=115278">assertEquals(float,float,delta) |
| fails on negative delta</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=609972&group_id=15278&atid=115278">'...' |
| in ComparisonFailure</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=461535&group_id=15278&atid=115278">Trouble |
| in teardown hides orig. probl.</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=609819&group_id=15278&atid=115278">NaN's |
| in assertEquals</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=620039&group_id=15278&atid=115278">BaseTestRunner.setPreference |
| static</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=658044&group_id=15278&atid=115278">failNotEquals() |
| should be protected</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=777097&group_id=15278&atid=115278">RFE: |
| make private methods protected</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=654507&group_id=15278&atid=365278">Printing |
| version number</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=993150&group_id=15278&atid=315278">Patch |
| to quell warnings in tiger</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=657593&group_id=15278&atid=315278">Enhanced |
| ComparisonFailure output</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=625016&group_id=15278&atid=315278">addt'l |
| TestSuite constructrs for Class[]</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=908467&group_id=15278&atid=315278">Run |
| one test method for junit</a></li> |
| <li><a |
| href="http://sourceforge.net/tracker/index.php?func=detail&aid=756480&group_id=15278&atid=315278">excluded.properties: |
| Add commons logging</a></li> |
| </ul> |
| <h2><font color="#000000">Summary of Changes between 3.8 and 3.8.1</font></h2> |
| <ul> |
| <font color="#000000"> <li>Backed out setting the testing Thread's |
| context class loader (see <a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=598200&group_id=15278&atid=115278">JUnit |
| not setting ClassLoader</a>). It has caused problems in tests that |
| worked OK before. See the bug report for more details.</li> |
| <li>Fixes: |
| <ul> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=601326&group_id=15278&atid=115278">NPE |
| in ComparisonFailure</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=602948&group_id=15278&atid=115278">Swing |
| UI: NoSuchMethodError on JDK 1.3</a></li> |
| </ul> |
| </li> |
| </font> |
| </ul> |
| <h2> |
| <font color="#000000">Summary of Changes between 3.7 and 3.8</font></h2> |
| <h3> |
| <font color="#000000">Framework</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Made the string argument TestCase constructor |
| optional. You can now delete |
| constructors of the form "FooTestCase(String name) { super(name); }".</font></li> |
| <li> |
| <font color="#000000">Deleted deprecated assert(boolean) in favor |
| of assertTrue(boolean) and |
| assertFalse(boolean). To migrate to JUnit 3.8, rename calls to |
| assert(boolean) |
| to call assertTrue(boolean).</font></li> |
| <li> |
| <font color="#000000">Added assertFalse() to avoid the difficult of |
| reading the assertTrue(! |
| condition).</font></li> |
| <li> |
| <font color="#000000">Added assertNotSame(Object, Object).</font></li> |
| <li> |
| <font color="#000000">Deleted deprecated TestCase.name() in favor |
| of TestCase.getName().</font></li> |
| <li> |
| <font color="#000000">Deleted deprecated package junit.ui in favor |
| of junit.awtui.</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Test Runner</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">When you compare two long strings with a |
| small delta embedded in the middle, it |
| is hard to spot the difference. In 3.8, when you call |
| assertEquals(String, |
| String), only the differences between the strings are displayed. The |
| common |
| prefix and suffix are replaced with "...".</font></li> |
| <li> |
| <font color="#000000">Added initial version of a TestRunListener |
| attached to TestRunners which |
| eventually will replace TestListeners attached to the TestResult.</font></li> |
| <li> |
| <font color="#000000">Filled in ActiveTestSuite constructors.</font></li> |
| <li> |
| <font color="#000000">Added these packages to the |
| excluded.properties:<font size="2"> |
| <ul> |
| <li>org.w3c.dom.*</li> |
| <li>org.xml.sax.*</li> |
| <li>net.jini.*</li> |
| </ul> |
| </font></font></li> |
| <li><font color="#000000">Extracted textual formatting of a |
| TestResult from junit.textui.TestRunner into ResultPrinter.</font></li> |
| </ul> |
| <h3><font color="#000000">Documentation</font></h3> |
| <ul> |
| <font color="#000000"> <li>Much improved <a href="doc/faq/faq.htm">FAQ</a> |
| thanks to Mike Clark.</li> |
| </font> |
| </ul> |
| <h3><font color="#000000">Closed Bugs</font></h3> |
| <ul> |
| <font color="#000000"> <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=583346&group_id=15278&atid=115278">Class |
| loader problem</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=551239&group_id=15278&atid=115278">Cookbook |
| Simple Test Case problems</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=539015&group_id=15278&atid=115278">License |
| not included in source</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=560081&group_id=15278&atid=115278">assert |
| is a keyword</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=572444&group_id=15278&atid=115278">javadoc |
| returns mysterious message</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=581251&group_id=15278&atid=115278">swingui |
| CounterPanel values disappear</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=574641&group_id=15278&atid=115278">TestCase |
| javadoc incorrect example</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=582784&group_id=15278&atid=115278">silly |
| cookbook error</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=583328&group_id=15278&atid=115278">junit |
| properties missfunction</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=595957&group_id=15278&atid=115278">Test.java |
| is not Serializable</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=598200&group_id=15278&atid=115278">JUnit |
| not setting ClassLoader`</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=592713&group_id=15278&atid=115278">NullPointerException |
| when loading suite</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=544683&group_id=15278&atid=115278">labels |
| for bug counts too small in Swing</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=537502&group_id=15278&atid=115278">Swing |
| TestRunner layout shifts</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=528868&group_id=15278&atid=115278">Exit |
| code problem for cygwin/w2k</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=529953&group_id=15278&atid=115278">Automatic |
| reload causes strange errors</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=532952&group_id=15278&atid=115278">TestRunner |
| fails with swing/awtui</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=533411&group_id=15278&atid=115278">CVS |
| version doesn't build on NetBSD</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=520210&group_id=15278&atid=115278">NullPointerException |
| JUnit sample w/ Ant</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=527511&group_id=15278&atid=115278">money |
| sample bug</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=491981&group_id=15278&atid=115278">incomplete |
| message from failNotSame()</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=471577&group_id=15278&atid=115278">Icons |
| on systems with 64 colors exceptio</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=470324&group_id=15278&atid=115278">1000+ |
| tests, swing gui doesn't display</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=442752&group_id=15278&atid=115278">test |
| selector included incorrect classes</a></li> |
| <li><a |
| href="https://sourceforge.net/tracker/index.php?func=detail&aid=430974&group_id=15278&atid=115278">No |
| UI update when re-run methods fail</a></li> |
| </font> |
| </ul> |
| <h2> |
| <font color="#000000">Summary of Changes between 3.6 and 3.7</font></h2> |
| <h3> |
| <font color="#000000">GUI</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Eliminated warning when re-running tests when |
| class loading checkbox is |
| unchecked. There are legitimate reasons for doing this, so a warning |
| didn't |
| make much sense, and it was too obtrusive.</font></li> |
| <li> |
| <font color="#000000">Stopped reloading classes when running in |
| VisualAge for Java.</font></li> |
| <li> |
| <font color="#000000">Print total number of tests as well as number |
| of tests run so far (Swing |
| only).</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Framework</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Introduced Assert.assertTrue(boolean) and |
| assertTrue(String, boolean) deprecated |
| assert(boolean) and assert(String, boolean) in preparation for the |
| assert |
| keyword in Java 1.4. We plan to support native assertions when they are |
| publicly available. You can either move to assertTrue() or wait for 1.4 |
| and delete parentheses as the syntax is e.g. "assert 2 == 3".</font></li> |
| <li> |
| <font color="#000000">Added accessors for TestCase.fName and |
| TestSuite.fName.</font></li> |
| <li> |
| <font color="#000000">Added a no argument TestCase constructor to |
| support serialization.</font></li> |
| <li> |
| <font color="#000000">Improved warnings when constructing |
| TestSuites.</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Text Runner</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Made doRun() public so clients can create a |
| text runner with a specified |
| output stream and then run tests.</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Fixed Bugs (SourceForge Bug Tracker Ids)</font></h3> |
| <font color="#000000"> [420315] No trace when fail |
| with message... |
| <br> |
| [419375] reload warning lags |
| <br> |
| [418849] Classloader warning too obtrusive |
| <br> |
| [417978] constructor stack trace, please |
| <br> |
| [415103] Reload checkbox should be ignored in VAJ |
| <br> |
| [414954] error reporting when invoking suite() |
| <br> |
| [407296] Make doRun() public |
| <br> |
| [227578] rmi callbacks fail since TestCase has no |
| noArg constructor |
| <br> |
| [422603] Decorated decorators bug |
| </font> |
| <h2><font color="#000000">Summary of Changes between 3.5 and 3.6</font></h2> |
| <h3> |
| <font color="#000000">TestRunner</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">The UI test runners provide a check box to |
| enable/disable the custom class |
| loader. The user is warned when running a second test with the non |
| loading |
| class loader.</font></li> |
| <li> |
| <font color="#000000">Renames to address file name length |
| limitation on MacOS:</font></li> |
| <ul> |
| <li> |
| <font color="#000000">LoadingClassPathTestCollector -> |
| LoadingTestCollector</font></li> |
| <li> |
| <font color="#000000">SimpleClassPathTestCollector -> |
| SimpleTestCollector</font></li> |
| </ul> |
| </ul> |
| <h3> |
| <font color="#000000">Framework</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Added TestSuite.getName()</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Builds</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Updated the build script for Ant 1.3.</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Fixed Bugs (SourceForge Bug Tracker Ids)</font></h3> |
| <blockquote><font color="#000000">[ #229753 ] assertEquals on NaN and |
| Infinity does not work |
| correctly |
| <br> |
| [ #229287 ] Class Name too long "SimpleClassPathTestCollector" |
| <br> |
| [ #229609 ] Stack Filtering missing in textui.TesRunner |
| <br> |
| [ #229870 ] Clicking on ... after tests failed gives NPE |
| <br> |
| [ #229974 ] Incorrect icon shown for first element in Swing GUI |
| <br> |
| [ #230581 ] swingui.TestTreeModel: results of decorated testcases... |
| <br> |
| [ #230971 ] Make junit.extensions.TestDecorator.getTest() public |
| <br> |
| [ #231569 ] DocBug: JUnit Test Infected: Programmers Love Writing Tests |
| <br> |
| [ #232645 ] BaseTestRunner.getTest loses exception information |
| <br> |
| [ #233094 ] TestSuite masks exceptions |
| <br> |
| [ #410967 ] No icon provided for first test |
| <br> |
| [ #230745 ] ClassPathTestCollector sometimes lists classes in duplicate</font></blockquote> |
| <h3> |
| <font color="#000000">Documentation</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Added documentation about the <a |
| href="doc/JUnitProperties.html">properties</a> |
| supported by TestRunners.</font></li> |
| <li> |
| <font color="#000000">Updated the FAQ</font></li> |
| </ul> |
| <h2> |
| <font color="#000000">Summary of Changes between 3.4 and 3.5</font></h2> |
| <h3> |
| <font color="#000000">Framework</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Added TestSuite.addTestSuite(Class testClass)</font></li> |
| <font color="#000000"><br> |
| This method allows to create a TestSuite with a class containing test |
| cases directly. |
| <br> |
| Instead of writing <b>suite.addTest(new TestSuite(AssertTest.class)) |
| </b>you |
| can now write <b>suite.addTestSuite(AssertTest.class)</b>; |
| <li>Added assertEquals methods for all primitive types: float, |
| boolean, byte, |
| char, int, short</li> |
| <li> |
| The signature of TestListeners.addFailure(Test test, Throwable t)</li> |
| <br> |
| was changed to addFailure(Test test, AssertionFailedError t)</font> |
| </ul> |
| <h3> |
| <font color="#000000">TestRunner</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">The Swing TestRunner provides an experimental |
| feature to browse test classes. |
| There is an additional browse ("...") button besides the suite combo. |
| It |
| shows a simple dialog to select a test class from a list. Different |
| strategies |
| to locate Test classes are supported and you can plug-in your own |
| strategy. |
| This allows to leverage functionality provided by an extension API of |
| an |
| integrated development environment (IDE). To define a custom test |
| collector |
| you 1) implement the <b>junit.runner.TestCollector </b>interface and |
| 2) |
| add an entry to the <b>junit.properties</b> file with the key <b>TestCollectorClass</b> |
| and the name of your TestCollector implementation class as the key:</font></li> |
| <font color="#000000"><br> |
| |
| TestCollectorClass=junit.swingui.LoadingClassPathTestCollector |
| <br> |
| This class has to be installed on the class path. |
| <br> |
| JUnit provides two different TestCollector implementations: |
| </font> |
| <ul> |
| <li> |
| <font color="#000000">simple |
| (junit.runner.SimpleClassPathTestCollector) - considers all classes |
| on the class path on the file system that contain "Test" in their name. |
| Classes in JARs are not considered.</font></li> |
| <li> |
| <font color="#000000">loading |
| (junit.runner.LoadingClassPathTestCollector) - loads all classes |
| on the class path and tests whether the class is assignable from Test |
| or |
| has a static <b>suite</b> method.</font></li> |
| </ul> |
| <font color="#000000">By default the simple the test collector is |
| used. The loading collector |
| is more precise but much slower than the simple one. The loading |
| collector |
| doesn't scale up when many classes are available on the class path. |
| <br> |
| <b><font color="#ff0000">Notice</font></b>: that both TestCollectors |
| assume that the class files reside are kept in the file system. This |
| isn't |
| case in VA/Java and they will not work there. A custom TestCollector is |
| required for VA/Java. |
| <li>The Swing TestRunner now provides an additional test result view |
| that shows |
| all tests of the executed test suite as a tree. The view shows the |
| success |
| status for each test. The view is shown as an additional tab in the |
| TestRunner |
| window. In previous versions of JUnit this view was shown in a separate |
| window.</li> |
| <li> |
| The failure panels in the Swing and AWT TestRunners filter the |
| exception |
| stack trace so that only non-framework stack frames are shown.</li> |
| <li> |
| There is support to plug-in a custom failure panel that provides |
| additional |
| functionality like navigating from a failure to the source. To do so |
| you |
| implement the <b>junit.runner.FailureDetailView</b> interface and |
| register |
| the implementation class in the junit.properties file under the key <b>FailureViewClass</b>, |
| for example</li> |
| <br> |
| |
| FailureViewClass=MyFailureViewClassName. |
| <li>The Swing and AWT TestRunners now understand an additional |
| command line |
| argument "-noloading". When this argument is set then the standard |
| system |
| class loader is used to load classes. This is an alternative to setting |
| the <b>loading</b> property to false in the junit.properties file.</li> |
| <li> |
| Swing TestRunner - the maximum test history length shown in the suite |
| combo |
| can be defined in the junit.properties file with the key <b>maxhistory</b>.</li> |
| <li> |
| BaseTestRunner.<b>getLoader</b>() is no longer a static method and can |
| now be overridden in subclasses.</li> |
| <li> |
| BaseTestRunner removed dependency on JDK 1.2.</li> |
| <li> |
| Swing TestRunner - fixed the problem that a suite name was sometimes |
| duplicated |
| in the history combo.</li> |
| <li> |
| Swing TestRunner - the Run button is now the default button.</li> |
| <li> |
| Output string truncation can now be controlled by adding the <b>maxmessage</b> |
| key with the desired maximum length to the junit.properties file. |
| Setting |
| maxmessage to -1 means no output truncation.</li> |
| <li> |
| The Text TestRunner now shows the summary at the very end so that you |
| don't |
| have to scroll back.</li> |
| </font> |
| </ul> |
| <h3> |
| <font color="#000000">Tests</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">TextRunnerTest now only depends on a nonzero |
| status to indicate abnormal |
| termination.</font></li> |
| <li> |
| <font color="#000000">TextRunnerTest now also passes on JDK 1.1.*. |
| It uses the -classpath command |
| line argument instead of -cp.</font></li> |
| </ul> |
| <h3> |
| <font color="#000000">Documentation</font></h3> |
| <ul> |
| <li> |
| <font color="#000000">Add an FAQ entry about what to do when the |
| junit tests provided with the |
| distribution can't be found.</font></li> |
| </ul> |
| <h2> |
| <font color="#000000">Older Change Notes</font></h2> |
| <blockquote> |
| <li><font color="#000000">Changes between <a |
| href="doc/changes34.html">2.1 and 3.4</a></font></li> |
| <li> |
| <font color="#000000">Changes between <a href="doc/changes21.html">1.0 |
| and 2.1</a></font></li> |
| </blockquote> |
| <h2> |
| <font color="#000000"><a name="Contents"></a>Contents of the Release</font></h2> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr> |
| <td><tt>README.html </tt></td> |
| <td>this file</td> |
| </tr> |
| <tr> |
| <td><tt>junit.jar</tt></td> |
| <td>a jar file with the JUnit framework and tools </td> |
| </tr> |
| <tr> |
| <td>src.jar</td> |
| <td>a jar file with the source code of the junit framework</td> |
| </tr> |
| <tr> |
| <td><tt>junit</tt></td> |
| <td>the source code of the JUnit samples</td> |
| </tr> |
| <tr> |
| <td><tt> samples</tt></td> |
| <td>sample test cases</td> |
| </tr> |
| <tr> |
| <td><tt> tests</tt></td> |
| <td>test cases for JUnit itself</td> |
| </tr> |
| <tr> |
| <td><tt>javadoc</tt></td> |
| <td>javadoc generated documentation</td> |
| </tr> |
| <tr> |
| <td><tt>doc</tt></td> |
| <td>documentation and articles</td> |
| </tr> |
| </tbody> |
| </table> |
| <h2> |
| <font color="#000000"><a name="Installation"></a>Installation</font></h2> |
| <font color="#000000">Below are the installation steps for installing |
| JUnit: |
| </font> |
| <ol> |
| <li> |
| <font color="#000000">unzip the junit.zip file</font></li> |
| <li> |
| <font color="#000000">add<i> </i><b>junit.jar</b> to the |
| CLASSPATH. For example: <tt>set |
| classpath=%classpath%;INSTALL_DIR\junit3\junit.jar</tt></font></li> |
| <li> |
| <font color="#000000">test the installation by using either the |
| batch or the graphical TestRunner |
| tool to run the tests that come with this release. All the tests should |
| pass OK.</font></li> |
| <font color="#000000"><br> |
| <b><font color="#ff0000">Notice</font></b>: that the tests are not |
| contained in the junit.jar but in the installation directory directly. |
| Therefore make sure that the installation directory is on the class |
| path |
| </font> |
| <ul> |
| <li> |
| <font color="#000000">for the batch TestRunner type:</font></li> |
| <font color="#000000"><br> |
| <tt> java junit.textui.TestRunner |
| junit.samples.AllTests</tt> |
| <li>for the graphical TestRunner type:</li> |
| <br> |
| <tt> java junit.awtui.TestRunner |
| junit.samples.AllTests</tt> |
| <li>for the Swing based graphical TestRunner type:</li> |
| <br> |
| <tt> java junit.swingui.TestRunner |
| junit.samples.AllTests</tt></font> |
| </ul> |
| </ol> |
| <font color="#000000"><b><font color="#ff0000">Important</font></b>: |
| don't install the junit.jar |
| into the extension directory of your JDK installation. If you do so the |
| test class on the files system will not be found. |
| </font> |
| <h2><font color="#000000"><a name="Getting"></a>Getting Started</font></h2> |
| <font color="#000000">To get started with unit testing and JUnit read |
| the Java Report article: |
| <a href="doc/testinfected/testing.htm">Test |
| Infected - Programmers Love Writing Tests</a>. |
| <br> |
| This article demonstrates the development process with JUnit in the |
| context of multiple currency arithmetic. The corresponding source code |
| is in junit\samples\money. |
| </font> |
| <p><font color="#000000">You find additional samples in the |
| junit.samples package: |
| </font></p> |
| <ul> |
| <li> |
| <font color="#000000">SimpleTest.java - some simple test cases</font></li> |
| <li> |
| <font color="#000000">VectorTest.java - test cases for |
| java.util.Vector</font></li> |
| </ul> |
| <h2> |
| <font color="#000000"><a name="Documentation"></a>Documentation</font></h2> |
| <blockquote><font color="#000000"><a href="doc/cookbook/cookbook.htm">JUnit |
| Cookbook</a> |
| <br> |
| A cookbook for implementing tests with JUnit. |
| <br> |
| <a href="doc/testinfected/testing.htm">Test Infected - Programmers |
| Love Writing Tests</a> |
| <br> |
| An article demonstrating the development process |
| with JUnit. |
| <br> |
| <a href="doc/cookstour/cookstour.htm">JUnit - A cooks tour</a> |
| <br> |
| <a href="javadoc/index.html">Javadoc</a> |
| <br> |
| API documentation generated with javadoc. |
| <br> |
| <a href="doc/faq/faq.htm">Frequently asked questions</a> |
| <br> |
| Some frequently asked questions about using JUnit. |
| <br> |
| <a href="doc/JUnitProperties.html">TestRunner Preference settings</a> |
| <br> |
| Describes the preferences settings that can be |
| configured |
| for the JUnit TestRunners.<br> |
| <a href="cpl-v10.html">License</a> |
| <br> |
| The terms of the common public license used for |
| JUnit.</font></blockquote> |
| <h2> |
| <font color="#000000"><a name="Extending"></a>Extending JUnit</font></h2> |
| <font color="#000000">Examples of possible JUnit extensions can be |
| found in the <tt>junit.extensions</tt> |
| package: |
| </font> |
| <ul> |
| <li> |
| <font color="#000000"><a |
| href="javadoc/junit/extensions/TestDecorator.html">TestDecorator</a> |
| - A decorator for Test. You can use it as the base class for |
| implementing |
| decorators to extend test cases.</font></li> |
| <li> |
| <font color="#000000"><a |
| href="javadoc/junit/extensions/ActiveTestSuite.html">ActiveTestSuite</a> |
| - A TestSuite which runs each test in a separate thread and waits until |
| they are all terminated.</font></li> |
| <li> |
| <font color="#000000"><a |
| href="javadoc/junit/extensions/TestSetup.html">TestSetup</a> - A |
| Decorator |
| to set up and tear down additional fixture state. Subclass TestSetup |
| and |
| insert it into your tests when you want to set up additional state once |
| before the tests are run.</font></li> |
| <li> |
| <font color="#000000"><a |
| href="javadoc/junit/extensions/ExceptionTestCase.html">ExceptionTestCase</a> |
| - A TestCase that expects a particular Exception to be thrown.</font></li> |
| </ul> |
| <hr width="100%"> |
| <!--webbot bot="HTMLMarkup" startspan --><font color="#000000"><a |
| href="http://sourceforge.net"><img |
| src="http://sourceforge.net/sflogo.php?group_id=15278" width="88" |
| height="31" border="0" alt="SourceForge Logo"></a><!--webbot |
| bot="HTMLMarkup" endspan --></font> |
| </body> |
| </html> |