Unit tests are useful to call code in isolation during development (so you don't need to start the entire GUI to test every change), and for regression tests.
A couple of unit tests for Rosegarden have been written in src/test.
Enable WANT_TEST in ccmake and build the codebase as usual
Creating new unit tests
define an 'int test_foo(int argc, char** argv)'. This method will be called by the test driver, which will report 'Success' if the call returned '0'. If you put multiple tests in one file, this will looks something like 'return test1() + test2() + test3()', where all other tests should also return 0 on success or a positive integer on failure.