Chapter 2. Getting Started: Tutorial
Software concepts are best explained by example. In this tutorial,
you will set up a simple unit test framework and use it to help build
a basic application. Following the primary rule of TDD, every change
to the code is preceded by a unit test.
Why build our own test framework, instead of starting with one of the
xUnits? The xUnit test frameworks are powerful tools.
They not only support writing unit tests, running them, and reporting
the results, but also include test classes, helper code, test
runners, and utilities. Such features minimize the amount of code
required to write a unit test and maximize your ability to test
complex code. They include much more than the minimum needed to build
unit tests.
The core functionality of running tests and reporting the results is
fundamentally simple. Developers working in cross-platform
environments, using older compilers or uncommon languages or needing
closer control over how unit tests and their results are handled may
not be able to use the xUnits or want to invest the time to set them
up. The proliferation of very basic unit test frameworks available
online demonstrates the popular belief that "simpler
is better" when it comes to unit test frameworks.
Most importantly, creating your own framework clearly demonstrates
how unit tests work and how straightforward the unit test framework
concept really is.
The example code is given in Java. Appendix A contains the C++
version. The code can be found on the CD accompanying this book in
the directory /examples/chapter2. Consider
entering the code in this chapter by hand as if you were coding it
from scratch. It's an illuminating exercise that
will help you to understand how quick and easy it is to set up and
start using a unit test framework.
This tutorial assumes that you have a
Java runtime environment and
compiler
installed. Sun's
javac compiler is recommended, as is the
GNU gcj Java
compiler. Versions of both compilers are readily available for most
platforms.
The step-by-step procedures given here assume that you are compiling
and running the code from the command line. If you are using a
graphical Integrated Development Environment
(IDE), the details of how you build and run the example code will
differ.
|
No comments:
Post a Comment