私は CUnit を初めて使用します。サンプル コードを実行して、CUnit が機能するかどうかをテストしようとしています。私は3つのファイルを持っています。
最大時
#ifndef MAX_H_
#define MAX_H_
extern int maxi(int, int);
#endif /* MAX_H_ */
最大c
#include "max.h"
int maxi (int i1, int i2)
{
return (i1 > i2) ? i1 : i2;
}
そしてTest_max.c
#include <stdio.h>
#include <CUnit/CUnit.h>
#include <CUnit/Basic.h>
#include "max.h"
int init_suite(void)
{
return 0;
}
int clean_suite(void)
{
return 0;
}
void testMax(void)
{
CU_ASSERT(maxi(1,2) == 2);
CU_ASSERT(maxi(3,2) == 3);
CU_ASSERT(maxi(2,4) == 4);
}
int main()
{
CU_pSuite pSuite = NULL;
if (CUE_SUCCESS != CU_inizialize_registry())
return CU_get_error();
pSuite = CU_add_suite("Suite di prova", init_suite, clean_suite);
if (NULL == pSuite)
{
CU_cleanup_registry();
return CU_get_error();
}
if (NULL == CU_add_test(pSuite, "Test max", testMax))
{
CU_cleanup_registry();
return CU_get_error();
}
CU_basic_set_mode(CU_BRM_VERBOSE);
CU_basic_run_tests();
CU_cleanup_registry();
return CU_get_error();
}
ビルドすると、警告とエラーが表示されます。
- (警告) 警告: 関数 'CU_inizialize_registry' の暗黙の宣言は C99 では無効です [-Wimplicit-function-declaration] if (CUE_SUCCESS != CU_inizialize_registry())
- (エラー) ld: アーキテクチャ x86_64 のシンボルが見つかりません
何が問題なのCU_inizialize_registry
ですか? 理解できません。私たちを手伝ってくれますか?ありがとう
詳細: MacOS 10.12.3、Eclipse、cunit 2.1-3