Top | ![]() |
![]() |
![]() |
![]() |
#define | CPPCUTTER_ENABLED |
#define | CPPCUT_BEGIN_TEST_DECLS |
#define | CPPCUT_END_TEST_DECLS |
CppCutter provides C++ friendly interface of Cutter. If you want to write tests with C++, it's good idea that you consider CppCutter to be used too.
It's easy to use CppCutter. You just include <cppcutter.h> instead of <cutter.h> and use cppcutter.pc instead of cutter.pc:
test-xxx.cpp:
1 2 |
-#include <cutter.h> +#include <cppcutter.h> |
configure.ac:
1 2 |
-AC_CHECK_CUTTER +AC_CHECK_CPPCUTTER |
Makefile.am:
1 2 3 4 |
-XXX_CFLAGS = $(CUTTER_CFLAGS) -XXX_LIBS = $(CUTTER_LIBS) +XXX_CFLAGS = $(CPPCUTTER_CFLAGS) +XXX_LIBS = $(CPPCUTTER_LIBS) |
Test functions are defined in namespace. Naming convention is the same as Cutter. i.e.: 'test_...' function is test function, 'setup' or 'cut_setup' is setup function and 'teardown' or 'cut_teardown' is teardown function.
test-calc.cpp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <cppcutter.h> namespace calc { void test_add (void) { cppcut_assert_equal(3, calc.add(1, 2)); } void test_sub (void) { cppcut_assert_equal(5, calc.sub(9, 4)); } } |
You just define a function for adding a new test. You don't need to use magical macros.
#define cppcut_message(...)
Specifies optional assertion message with C++ friendly
API. The optional message can be specified with printf()
style API or "<<" stream style API.
e.g.:
1 2 3 4 |
cppcut_assert_equal("abc", "def", cppcut_message("should fail!")); cppcut_assert_equal("abc", "def", cppcut_message() << "should fail!"); |
Since: 1.1.0
#define CPPCUT_BEGIN_TEST_DECLS extern "C" {
CPPCUT_BEGIN_TEST_DECLS
has been deprecated since version 1.1.0 and should not be used in newly-written code.
Use namespace instead.
Use CPPCUT_BEGIN_TEST_DECLS
and CPPCUT_END_TEST_DECLS
pair for prototype declarations for test functions:
1 2 3 4 |
CPPCUT_BEGIN_TEST_DECLS void test_add (); void test_remove (); CPPCUT_END_TEST_DECLS |
Those macros just surround prototype declarations for test functions with 'extern "C" {...}'.
Since: 1.0.9