// -------------------------------------------------- // include // -------------------------------------------------- #include #include // CUnit で使える様々なマクロを定義 #include // コンソール上でのユーザーインターフェースを提供する 関数を利用するために必要です。 // -------------------------------------------------- // functions // -------------------------------------------------- // 評価対象関数 int hoge( int a ); // テスト用関数 void test_hoge_assert( void ); void test_hoge_equal( void ); void test_hoge_string( void ); void test_hoge_fatal( void ); // main int main( void ) { // test suite CU_pSuite cu_suite; printf("Hello CUnit Would!!\n"); // ------------------ // CUnit 初期化 // ------------------ // テストレジストリ 初期化 CU_initialize_registry(); // テストスイート登録 cu_suite = CU_add_suite("hoge", NULL, NULL); // ------------------ // CUnit テスト登録 // ------------------ // テスト CU_add_test( cu_suite, "asset test", test_hoge_assert ); CU_add_test( cu_suite, "equal test", test_hoge_equal ); CU_add_test( cu_suite, "string test", test_hoge_string ); CU_add_test( cu_suite, "fatal test", test_hoge_fatal ); // ------------------ // CUnit 実行 // ------------------ CU_console_run_tests(); CU_cleanup_registry(); // 正常 return 0; } // 評価対象関数 int hoge( int a ) { return a; } // assert test void test_hoge_assert( void ) { CU_ASSERT( 1 == hoge( 1 ) ); } // equal test void test_hoge_equal( void ) { CU_ASSERT_EQUAL( hoge( 2 ), 2 ); } // string test void test_hoge_string( void ) { CU_ASSERT_STRING_EQUAL( "3", "3" ); } // fatal test void test_hoge_fatal( void ) { // ココで失敗するので以下は実施されない。 CU_ASSERT_FATAL( 4 == hoge( 5 ) ); // 実施されないテスト CU_ASSERT_FATAL( 6 == hoge( 6 ) ); }