ETest - The Eiffel Regression Test Framework

Eiffel provides great support for Design by Contract. But
the pre- and post-conditions do little good if the code specified by
them is not exercised. ETest is a simple regression test framework
for Eiffel programs, designed to get the most out of your contracts.

Suppose you have a class named "ADDER" that added two numbers together
and returned the result.

class ADDER
feature
add (a, b: INTEGER) is
do
Result := a + a
endend

You wish to test this class, so you write a simple test case. The
test case class inherits from TEST_FIXTURE, which supplies a
number of usefull features such as assert_equal. The test
class has a single routine called t_addition which makes
several assertions about the expected results of the class.

Credits

JUnit relies heavily on Java's introspection capabilities to make
writing test cases easy. Since Eiffel doesn't (currently) support
reflection, ETest uses code generation to ease the test writer's life.
The test writer writes just a basic skeleton of code, and the
etest perl script will generate all the glue to bring the
test case together.

ETest is an ongoing work. I would be happy to hear about what you
liked and didn't like, as well as ideas for the future. ETest is an
open source project, so feel free to contribute. You can contact me
at jweirich@one.net.