Next: , Previous: What are unit tests?, Up: Unit tests

2.1.2 What testing framework does Marsyas use?

Marsyas uses the GPLed Cxxtest ( testing framework. Cxxtest is a JUnit/CppUnit/xUnit-like framework for C++. We chose Cxxtest because it is lightweight, easy-to-use, is very portable and is distributed under the GPL licence. It is easier to use than other C++ testing frameworks and features a very rich set of assertions.

An example can be found in marsyas/src/tests/unit_tests/TestSelector.h

     #include "Selector.h"
     using namespace Marsyas;
     class Selector_runner : public CxxTest::TestSuite
     	// ... setup the "in" realvec ...
       void test_all_input_copied_to_output_by_default(void)
       	TS_ASSERT_EQUALS(out(0,0), 0.1);

In this example, we setup the input realvec “in” in the function “setup()”. We then add a test by creating a new method that begins with the word “test_”.