Top | ![]() |
![]() |
![]() |
![]() |
#define | CPPCUTTER_ENABLED |
#define | CPPCUT_BEGIN_TEST_DECLS |
#define | CPPCUT_END_TEST_DECLS |
CppCutterはC++で便利な機能をCutterに追加します。C++でテストを書きたい場合はCppCutterの使用を検討してください。
CppCutterを使うことは簡単です。<cutter.h>の代わりに<cppcutter.h>をinlcudeして、cutter.pcの代わりにcppcutter.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) |
テスト関数はnamespaceの中に定義します。名前付け規則はCutterと同じです。つまり、'test_...'関数はテスト関数、'setup'または'cut_setup'は初期化関数、'teardown'または'cut_teardown'は後始末関数になります。
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)); } } |
新しいテストを追加するときはいつも通り関数を定義するだけです。よくわからないマクロを使う必要はありません。
#define cppcut_message(...)
C++らしいAPIで検証の省略可能なメッセージを指定します。メッセージはprintf()
と同じAPIか"<<"を使ったストリームと同じAPIを使って指定します。
例:
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.
テスト関数のプロトタイプ宣言はCPPCUT_BEGIN_TEST_DECLS
とCPPCUT_END_TEST_DECLS
で囲みます:
1 2 3 4 |
CPPCUT_BEGIN_TEST_DECLS void test_add (); void test_remove (); CPPCUT_END_TEST_DECLS |
このマクロは単にテスト関数のプロトタイプ宣言を'extern "C" {...}'で囲むだけです。
Since: 1.0.9
#define CPPCUT_END_TEST_DECLS }
CPPCUT_END_TEST_DECLS
has been deprecated since version 1.1.0 and should not be used in newly-written code.
Use namespace instead.
CPPCUT_BEGIN_TEST_DECLS
を見て下さい。
Since: 1.0.9