Difference between revisions of "Scl test teardown"
(→Example) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= The scl_test_teardown pragma = | = The scl_test_teardown pragma = | ||
− | The scl_test_teardown pragma declares a member method to be a teardown fixture for an existing test unit. The teardown method will be called after the execution of each test method. | + | The ''scl_test_teardown'' pragma declares a member method to be a teardown fixture for an existing test unit. The teardown method will be called after the execution of each test method. |
== Syntax == | == Syntax == | ||
Line 13: | Line 13: | ||
|- | |- | ||
| ''test-unit-name'' | | ''test-unit-name'' | ||
− | | | + | | Identifier |
| Name of a captured test unit. | | Name of a captured test unit. | ||
|- | |- | ||
| ''function-name'' | | ''function-name'' | ||
− | | | + | | Identifier |
| Name of a member function of the test unit to be used as a teardown fixture. | | Name of a member function of the test unit to be used as a teardown fixture. | ||
|} | |} | ||
== Notes == | == Notes == | ||
− | * This pragma identifies the | + | * This pragma identifies the setup fixture of an existing test unit, i.e. either a class with [[scl_test_class]] applied to it, a set of functions with [[scl_test_flist]] applied to it, or a C struct with [[scl_test_cclass]] applied to it. |
* There may be only one teardown fixture per test unit. | * There may be only one teardown fixture per test unit. | ||
− | |||
− | |||
− | |||
== Example == | == Example == | ||
+ | <source lang=cpp> | ||
+ | #include <srtest.h> | ||
− | + | class RuntimeServices_fixtures { | |
− | + | public: | |
− | + | void setup (void) | |
− | + | { | |
− | + | srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "setup called"); | |
− | + | } | |
− | + | void teardown (void) | |
− | + | { | |
− | + | srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "teardown called"); | |
− | + | } | |
− | + | void tc_ExpectPass(void) | |
− | + | { | |
− | + | srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "this test should pass"); | |
− | + | srTestCaseSetStatus(srTEST_CASE_DEFAULT, srTEST_PASS, 0); | |
− | + | } | |
− | + | void tc_ExpectFail(void) | |
− | + | { | |
− | + | srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_ERROR, srNULL, "this test should fail"); | |
− | + | srTestCaseSetStatus(srTEST_CASE_DEFAULT, srTEST_FAIL, 0); | |
− | + | } | |
− | + | }; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | #ifdef _SCL | |
− | + | #pragma scl_test_class(RuntimeServices_fixtures) | |
− | + | #pragma scl_test_setup(RuntimeServices_fixtures, setup) | |
− | + | #pragma scl_test_teardown(RuntimeServices_fixtures, teardown) | |
− | + | #endif | |
+ | </source> | ||
== See Also == | == See Also == | ||
− | * Refer to the [[ | + | * Refer to the [[Test Units]] page for more information on capturing and qualifying test units. |
− | + | [[Category: Test Units]] | |
− | [[Category: | + | [[Category: SCL]] |
Latest revision as of 13:25, 5 August 2014
The scl_test_teardown pragma
The scl_test_teardown pragma declares a member method to be a teardown fixture for an existing test unit. The teardown method will be called after the execution of each test method.
Syntax
#pragma scl_test_teardown(test-unit-name, function-name)
Parameters | Type | Description |
test-unit-name | Identifier | Name of a captured test unit. |
function-name | Identifier | Name of a member function of the test unit to be used as a teardown fixture. |
Notes
- This pragma identifies the setup fixture of an existing test unit, i.e. either a class with scl_test_class applied to it, a set of functions with scl_test_flist applied to it, or a C struct with scl_test_cclass applied to it.
- There may be only one teardown fixture per test unit.
Example
#include <srtest.h>
class RuntimeServices_fixtures {
public:
void setup (void)
{
srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "setup called");
}
void teardown (void)
{
srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "teardown called");
}
void tc_ExpectPass(void)
{
srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_INFO, srNULL, "this test should pass");
srTestCaseSetStatus(srTEST_CASE_DEFAULT, srTEST_PASS, 0);
}
void tc_ExpectFail(void)
{
srTestCaseAddAnnotation(srTEST_CASE_DEFAULT, srTEST_ANNOTATION_LEVEL_ERROR, srNULL, "this test should fail");
srTestCaseSetStatus(srTEST_CASE_DEFAULT, srTEST_FAIL, 0);
}
};
#ifdef _SCL
#pragma scl_test_class(RuntimeServices_fixtures)
#pragma scl_test_setup(RuntimeServices_fixtures, setup)
#pragma scl_test_teardown(RuntimeServices_fixtures, teardown)
#endif
See Also
- Refer to the Test Units page for more information on capturing and qualifying test units.