Unit Testing Java Programs | Collecting Test Cases

Contents
Introduction
Enter JUnit
The Round class
Collecting your test cases

Collecting your test cases

During the development of a web-project you'll build more and more test cases, which all may be run individually, but often you'll want to run more or all of them in one go. This is easily done by creating a "super test case" that simply builds a "suite" of other test cases:

package hansen.playground;
	import junit.framework.*;
	
	public class TestAll extends TestCase { 
	    
	  public TestAll(String name) {
	    super(name);
	  }
	
	  public static void main(String args[]) {
	    junit.textui.TestRunner.run(suite());
	  }
	
	  public static Test suite() {
	    TestSuite suite = new TestSuite();
	    suite.addTest(TestCourse.suite());
	    suite.addTest(TestRound.suite());
	    return suite;
	  }
	} 

We're actually building a hierarchy this way. "TestAll" can again be used in another test case, which can be used in yet another test case...

By building this hierarchy according to the functions in your application you may conveniently run your tests at any level.

Conclusion

By using a framework like JUnit for unit testing we first of all increase programmer productivity and quality of the code. But there are many more advantages. Test cases can also be used as documentation of the programs that are being tested. Thus, whenever a bug is found in an application, you simply add a new test case that proves the bug, and later--when the bug is fixed--proves that it has been fixed. Since the test case suite should be run whenever the application is being modified (and most applications will be), you are certain that the bug will not sneak in again.

It's one thing to read about the benefits of using a certain tool or technique. It's another thing to try it out for yourself. If you are a Java programmer I urge you try JUnit--or a similar tool. I'll bet you won't regret it.

JUnit ressources

www.junit.org - the home of JUnit
junit.sourceforge.net - documentation and articles
www.clarkware.com/articles/JUnitPrimer.html - a short and precise introduction to JUnit

 
0 Comments  (click to add your comment)
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

About | Sitemap | Contact