diff options
Diffstat (limited to 'tests/README.test')
-rw-r--r-- | tests/README.test | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/README.test b/tests/README.test new file mode 100644 index 0000000..d605c21 --- /dev/null +++ b/tests/README.test @@ -0,0 +1,72 @@ + C++ automatic testing similar to JUnit + Stefan Westerfeld <[email protected]> + +What it is: +=========== + +These tests use a little testing framework, which consists currently only +of the file test.h. It is very much inspired by JUnit (www.junit.org), but it +is maybe even simpler. But it integrates nicely in Makefile.am automatic +testing. You can simply type + +make check + +to see if all tests pass. The motivation behind it is, when you are working +on a large project, it is often impossible to test quickly whether everything +still works all right after changes (which you should before committing ...). +This is even more true if you are not working alone on the code. + +With a consistent set of tests that verify whether everything is still all +right, things like breaking one thing while fixing another can be made less +likely at least. + +How to add a new set of tests: +============================== + +1. create a new .cc file, for this example we'll suppose testarithmetic.cc +2. #include "test.h" +3. create a struct which will hold all your tests + +struct TestArithmetic : public TestCase { + TESTCASE(TestArithmetic); +}; + +4. if you want to, override the following methods: + + void setUp() + { + /* + * This method is supposed to build a little test world, which will be + * built for each test method that is executed - the idea is that your + * tests will use this environment to test in. + */ + } + void tearDown() + { + /* + * This method should completely destroy your test world again, so + * that for the next test, a fresh one can be created. + */ + } + +5. define new tests like this + + TEST(arithmetic) { + long a = 2; + long b = 2; + long c = a+b; + + testAssert(c < 5); // you assert that this condition is true + testEquals(4,c); // you assert that the first (expected) value + } // equals the second (computed) value + +6. define a main for your test like this + +TESTMAIN(TestArithmetic); + +7. add the following to the Makefile.am (you may want to add more source files, + as required) + +testarithmetic_SOURCES = testarithmetic.cc + +8. add it to check_PROGRAMS |