![]() |
![]() |
![]() |
Cutterリファレンスマニュアル | ![]() |
---|---|---|---|---|
Top | 説明 |
#define CPPCUTTER_ENABLED #define CPPCUT_BEGIN_TEST_DECLS #define CPPCUT_END_TEST_DECLS #define cppcut_message (...)
CppCutterはC++で便利な機能をCutterに追加します。C++でテストを書きたい場合はCppCutterの使用を検討してください。
CppCutterを使うことは簡単です。<cutter.h>の代わりに<cppcutter.h>をinlcudeして、cutter.pcの代わりにcppcutter.pcを使うだけです。
test-xxx.cpp:
-#include <cutter.h> +#include <cppcutter.h>
configure.ac:
-AC_CHECK_CUTTER +AC_CHECK_CPPCUTTER
Makefile.am:
-XXX_CFLAGS = $(CUTTER_CFLAGS) -XXX_LIBS = $(CUTTER_LIBS) +XXX_CFLAGS = $(CPPCUTTER_CFLAGS) +XXX_LIBS = $(CPPCUTTER_LIBS)
テスト関数はnamespaceの中に定義します。名前付け規則はCutterと同じです。つまり、'test_...'関数はテスト関数、'setup'または'cut_setup'は初期化関数、'teardown'または'cut_teardown'は後始末関数になります。
test-calc.cpp:
#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)); } }
新しいテストを追加するときはいつも通り関数を定義するだけです。よくわからないマクロを使う必要はありません。
#define CPPCUT_BEGIN_TEST_DECLS extern "C" {
CPPCUT_BEGIN_TEST_DECLS
はバージョン1.1.0から非推奨になりました。新しく書くコードでは使わないでください。代わりにnamespaceを使ってください。
テスト関数のプロトタイプ宣言はCPPCUT_BEGIN_TEST_DECLS
とCPPCUT_END_TEST_DECLS
で囲みます:
CPPCUT_BEGIN_TEST_DECLS void test_add (); void test_remove (); CPPCUT_END_TEST_DECLS
このマクロは単にテスト関数のプロトタイプ宣言を'extern "C" {...}'で囲むだけです。
1.0.9から
#define CPPCUT_END_TEST_DECLS }
CPPCUT_END_TEST_DECLS
はバージョン1.1.0から非推奨になりました。新しく書くコードでは使わないでください。代わりにnamespaceを使ってください。
CPPCUT_BEGIN_TEST_DECLS
を見て下さい。
1.0.9から