CCUnit: テストスーツの生成

CCUnit 2.1 A C Unit Testing Library

- メインページ
- 関連ページ
- モジュール
- データ構造
- ファイル

全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義 グループ ページ
データ構造 | 型定義 | 関数
テストスーツの生成

いくつかのテストケースやテストスーツをまとめて、 ひとつのテストスーツにします。 [詳細]

テストスーツの生成のコラボレーション図

## データ構造
struct | CCUnitTestSuite
| A `Composite` class of Tests. [詳細]

## 型定義
typedef struct CCUnitTestSuite | CCUnitTestSuite
| A `Composite` class of Tests.

## 関数
CCUnitTestSuite * | ccunit_suite (const char *name)
| Create a test suite from test source file.
int | main (int ac, char **av)
| To generate a test suite making source code.
int | ccunit_makeSuite (int ac, char **av)
| テストケースのソースコードから、テストスーツを作成するコードを生成する。
int | ccunit_va_makeSuite (const char *prg,...)
| Generate a code to creating test suite code from the test func source codes.
CCUnitTestSuite * | ccunit_newTestSuite (const char *name)
| Constructs an empty TestSuite.
void | ccunit_deleteTestSuite (CCUnitTestSuite *suite)
| Destructs test suite.
void | ccunit_addTest (CCUnitTestSuite *suite, CCUnitTest *test)
| Adds a test to the suite.
void | ccunit_addTestSuite (CCUnitTestSuite *suite, CCUnitTestSuite *testSuite)
| Adds a test suite to the suite.
void | ccunit_addTestCase (CCUnitTestSuite *suite, CCUnitTestCase *testCase)
| Adds a test case to the suite.

## 説明

いくつかのテストケースやテストスーツをまとめて、 ひとつのテストスーツにします。

参照:
  MakeSuite

## 型定義

typedef struct CCUnitTestSuite CCUnitTestSuite

A `Composite` class of Tests.

It runs a collection of test case or suite. Here is an example.

CCUnitTestSuite* suite = ccunit_newTestSuite ("a test suite");
ccunit_addTestCase (suite, TESTCASE);
ccunit_addTestSuite (suite, TESTSUITE);

参照:
  CCUnitTest, CCUnitTestCase.

## 関数

void ccunit_addTest | ( | CCUnitTestSuite * | suite,
|  | CCUnitTest * | test
| ) |  |
| inline

Adds a test to the suite.

引数:

  suite | test suite.
  test | test to add.

参照先 ccunit_addList(), と CCUnitTestSuite::tests.

参照元 ccunit_addTestCase(), と ccunit_addTestSuite().

関数の呼び出しグラフ:

呼出しグラフ:

void ccunit_addTestCase | ( | CCUnitTestSuite * | suite,
|  | CCUnitTestCase * | testCase
| ) |  |
| inline

Adds a test case to the suite.

引数:

  suite | test suite.
  testCase | test case to add.

参照先 ccunit_addTest(), と CCUnitTestCase::test.

参照元 ccunit_newTestSuiteFromDfn().

関数の呼び出しグラフ:

呼出しグラフ:

void ccunit_addTestSuite | ( | CCUnitTestSuite * | suite,
|  | CCUnitTestSuite * | testSuite
| ) |  |
| inline

Adds a test suite to the suite.

引数:

  suite | test suite.
  testSuite | test to add.

参照先 ccunit_addTest(), と CCUnitTestSuite::test.

参照元 ccunit_newTestSuiteFromDfn().

関数の呼び出しグラフ:

呼出しグラフ:

void ccunit_deleteTestSuite | ( | CCUnitTestSuite * | suite | ) |
| inline

Destructs test suite.

引数:

  suite | deleting suite.

参照先 ccunit_deleteTest(), と CCUnitTestSuite::test.

関数の呼び出しグラフ:

int ccunit_makeSuite | ( | int | ac,
|  | char ** | av
| ) |  |

テストケースのソースコードから、テストスーツを作成するコードを生成する。

引数:

  ac | arg count.
  av | array of arg string.

av[] = { PRORGNAME, [OPTIONS]..., FILES... }
OPTIONS:
--output OUTFILE
-o OUTFILE
output file name (default stdout)
--function FUNCTION
-f FUNCTION
creating function name
--verbose
-v
output verbose message
--debug
-d
output debug message
--version
-V
print version
--help
-h
print this message
FILES: the special name '-' means input from stdin.

テストケースソースコードは次の疑似 BNF によってフォーマットされなくてはなりません。

SOURCEFILE ::= SUITE... | TESTCASE...
SUITE ::= SUITE_HEADER
[ any-C-code ]...
TESTCASE...
SUITE_END
SUITE_HEADER ::= JAVADOC_COMMENT_BEGIN 'test suite:' SUITE_NAME COMMENT_END
SUITE_END ::= JAVADOC_COMMENT_BEGIN 'end test suite' wsp string COMMENT_END
TESTCASE ::= TESTCASE_HEADER
[TESTCASE_CODE]...
[TESTFUNC]...
TESTCASE_END
TESTCASE_HEADER ::= JAVADOC_COMMENT_BEGIN
'test case:' TESTCASE_NAME
COMMENT_END
TESTCASE_CODE ::= any C language codes.
TESTFUNC ::= [ FUNC_DESC ] 'void ' FUNC_PREFIX[A-Za-z0-9_]* '()' FUNC_BODY
FUNC_PREFIX ::= 'test' | 'setUp' | 'tearDown' |
'setUpBeforeClass' | 'tearDownAfterClass'
TESTCASE_END ::= JAVADOC_COMMENT_BEGIN 'end test case ' [string] COMMENT_END
FUNC_DESC ::= JAVADOC_COMMENT_BEGIN string COMMENT_END
FUNC_BODY ::= '{' C language codes... '}'
JAVADOC_COMMENT_BEGIN ::= '/' '*' '*'
COMMENT_END ::= '*' '/'

戻り値:
  0 if succeeded, else error occured.

参照先 _ccunit_debug_message, _ccunit_verbose_message, ccunit_deleteTestSuiteDef(), ccunit_err(), ccunit_newTestSuiteDef(), ccunit_printSuite(), ccunit_readSuite(), DIRSEP, SETVBUF, と usage().

参照元 ccunit_va_makeSuite(), と main().

関数の呼び出しグラフ:

呼出しグラフ:

CCUnitTestSuite * ccunit_newTestSuite | ( | const char * | name | ) |
| inline

Constructs an empty TestSuite.

引数:

  name | test suite name.

戻り値:
  new test suite.

参照先 ccunit_initList(), ccunit_initTest(), ccunitTypeSuite, destroy(), CCUnitTestSuite::name, run(), safe_strdup, CCUnitTestSuite::test, と CCUnitTestSuite::tests.

参照元 ccunit_newTestSuiteFromDfn().

関数の呼び出しグラフ:

呼出しグラフ:

CCUnitTestSuite* ccunit_suite | ( | const char * | name | ) |

Create a test suite from test source file.

引数:

  name | test suite name.

戻り値:
  new test suite.

int ccunit_va_makeSuite | ( | const char * | prg,
|  |  | ...
| ) |  |

Generate a code to creating test suite code from the test func source codes.

引数:

  prg | program name
  ... | arguments. The last arg must be NULL.

戻り値:
  0 if succeeded, else error occured.

参照:
  ccunit_makeSuite

参照先 ccunit_makeSuite().

関数の呼び出しグラフ:

int main | ( | int | ac,
|  | char ** | av
| ) |  |

To generate a test suite making source code.

参照:
  ccunit_makeSuite

参照先 ccunit_makeSuite().

関数の呼び出しグラフ:

| hosts this site. |  | Send comments to: CCUnit Developer |