[ CCUnit project page ] | [ CCUnit home page ] |
![]() |
Data Structures | |
struct | CCUnitTestCase |
A single test object. More... | |
struct | CCUnitTestFixture |
Wraps a test case with setUp and tearDown methods. More... | |
Typedefs | |
typedef struct CCUnitTestCase | CCUnitTestCase |
A single test object. | |
typedef struct CCUnitTestFixture | CCUnitTestFixture |
Wraps a test case with setUp and tearDown methods. | |
Functions | |
CCUnitTestFixture * | ccunit_newTestFixture (const char *name, CCUnitTestFunc *setUp, CCUnitTestFunc *tearDown) |
create new test fixture. | |
void | ccunit_addTestCase (CCUnitTestFixture *fixture, CCUnitTestCase *testCase) |
add test case to test fixture. | |
CCUnitTestCase * | ccunit_addNewTestCase (CCUnitTestFixture *fixture, const char *name, const char *desc, void(*runTest)()) |
add new test case to test fixture. | |
CCUnitTestCase * | ccunit_newTestCase (const char *name, const char *desc, void(*runTest)()) |
Create new test case. | |
CCUnitTestFunc * | ccunit_newTestFunc (const char *name, const char *desc, void(*func)()) |
Create new test function. | |
void | ccunit_deleteTestCase (CCUnitTestCase *testCase) |
Delete test case. | |
void | ccunit_deleteTestFunc (CCUnitTestFunc *testFunc) |
Delete test func. |
typedef struct CCUnitTestCase CCUnitTestCase |
A single test object.
For each test implement a function which interacts with the case. Verify the expected results with assertions specified by calling CCUNIT_ASSERT on the expression you want to test:
void testAdd () { int result = value1 + value2; CCUNIT_ASSERT (result == 5); } ... void MathTest_newTestCase_testAdd () { return ccunit_newTestCase ("addTest", "add test", addTest); }
typedef struct CCUnitTestFixture CCUnitTestFixture |
Wraps a test case with setUp and tearDown methods.
A TestCase is used to provide a common environment for a set of test cases.
To define a test case, do the following:
Each test runs in its own case so there can be no side effects among test runs. Here is an example:
static int value1, value2; void setUp_MathTest () { value1 = 2; value2 = 3; } ... CCUnitTestFixture* MathTest_newTestFixture () { return ccunit_newTestFixture ("MathTest", setUp_MathTest, NULL); }
For each test implement a function which interacts with the case. Verify the expected results with assertions specified by calling CCUNIT_ASSERT on the expression you want to test:
void testAdd () { int result = value1 + value2; CCUNIT_ASSERT (result == 5); } ... void MathTest_newTestCase_testAdd () { return ccunit_newTestCase ("addTest", "add test", addTest); }
The tests to be run can be collected into a TestSuite.
CCUintTestSuite* MathTest_suite () { CCUnitTestSuite* suite = ccunit_newTestSuite ("MathTest"); CCUnitTestFixture* fixture = MathTest_newTestFixture (); ccunit_addTestFixture (suite, fixture); ccunit_addTestCase (fixture, MathTest_newTestCase_testAdd ()); ccunit_addTestCase (fixture, MathTest_newTestCase_testDivZero ()) return suite; }
Once the functions are defined you can run them. To do this, use a TestRunner.
CCUnitTestRunner *runner = ccunit_newTestRunner (stdout); CCUnitTestSuite *suite = MathTest_suite (); runner->run (runner, suite);
A command line tool have been created for convenience. It is located in src/tools/ccunit_makeSuite.c.
CCUnitTestCase* ccunit_addNewTestCase | ( | CCUnitTestFixture * | fixture, | |
const char * | name, | |||
const char * | desc, | |||
void(*)() | runTest | |||
) |
add new test case to test fixture.
fixture | test fixture. | |
name | test case name. | |
desc | test case description. | |
runTest | run test function. |
References ccunit_addTestCase(), ccunit_newTestCase(), and runTest().
void ccunit_addTestCase | ( | CCUnitTestFixture * | fixture, | |
CCUnitTestCase * | testCase | |||
) | [inline] |
add test case to test fixture.
fixture | test fixture. | |
testCase | test case |
References ccunit_addList(), and CCUnitTestFixture::testCases.
Referenced by ccunit_addNewTestCase().
void ccunit_deleteTestCase | ( | CCUnitTestCase * | testCase | ) |
Delete test case.
testCase | deleting case. |
Referenced by destroy().
void ccunit_deleteTestFunc | ( | CCUnitTestFunc * | testFunc | ) | [inline] |
Delete test func.
testFunc | deleting func. |
Referenced by destroy().
CCUnitTestCase * ccunit_newTestCase | ( | const char * | name, | |
const char * | desc, | |||
void(*)() | runTest | |||
) |
Create new test case.
name | case name. | |
desc | case description. | |
runTest | run test function. |
Referenced by ccunit_addNewTestCase().
CCUnitTestFixture* ccunit_newTestFixture | ( | const char * | name, | |
CCUnitTestFunc * | setUp, | |||
CCUnitTestFunc * | tearDown | |||
) |
create new test fixture.
name | test fixture name. | |
setUp | test fixture setUp function. | |
tearDown | test fixture tearDown function. |
References ccunit_initList(), ccunit_initTest(), ccunitTypeFixture, destroy(), CCUnitTestFixture::name, run(), safe_strdup, CCUnitTestFixture::setUp, CCUnitTestFixture::tearDown, CCUnitTestFixture::test, and CCUnitTestFixture::testCases.
CCUnitTestFunc * ccunit_newTestFunc | ( | const char * | name, | |
const char * | desc, | |||
void(*)() | func | |||
) | [inline] |
Create new test function.
name | func name. | |
desc | func description. | |
func | run test function. |
|
hosts this site. | Send comments to: CCUnit Developer |
Generated on Mon Aug 16 2010 21:52:39 for CCUnit by ![]() |