Scl test setup: Difference between revisions

From STRIDE Wiki
Jump to navigation Jump to search
(New page: = The scl_test_setup pragma = The scl_test_setup pragma declares a member method to be a setup fixture for the class. If specified, the setup method will be called before to the execution...)
 
No edit summary
Line 1: Line 1:
= The scl_test_setup pragma =
= The scl_test_setup pragma =


The scl_test_setup pragma declares a member method to be a setup fixture for the class. If specified, the setup method will be called before to the execution of each test method.
The scl_test_setup pragma declares a member method to be a setup fixture for an existing test unit. The setup method will be called before the execution of each test method.


== Syntax ==
== Syntax ==
Line 18: Line 18:
| ''function-name''
| ''function-name''
| String
| String
| Name of a member function of the test unit to be used as a setup fixture. If specified, the setup method will be called before the execution of each test method.
| Name of a member function of the test unit to be used as a setup fixture.  
|}
|}


== Notes ==
== Notes ==
* This pragma identifies the setup fixture of an existing test unit, i.e. either a class with [[scl_test_class]] applied to it, or a function name with scl_test_flist applied to it.
* There may be only one setup fixture per test unit.
* The test unit name must match the class-name parameter of an [[scl_test_class|scl_test_class pragma]], or the test-unit-name parameter of an [[scl_test_flist|scl_test_flist pragma]] that has already been declared.
* This pragma can only work in STRIDE version 2.1 or later.
* This pragma can only work in STRIDE version 2.1 or later.
* The host PC must also have a recent distribution of ActiveState Perl installed.
* The host PC must also have a recent distribution of ActiveState Perl installed.

Revision as of 00:13, 12 July 2008

The scl_test_setup pragma

The scl_test_setup pragma declares a member method to be a setup fixture for an existing test unit. The setup method will be called before the execution of each test method.

Syntax

#pragma scl_test_setup(test-unit-name, function-name)
Parameters Type Description
test-unit-name String Name of a captured test unit.
function-name String Name of a member function of the test unit to be used as a setup 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, or a function name with scl_test_flist applied to it.
  • There may be only one setup fixture per test unit.
  • The test unit name must match the class-name parameter of an scl_test_class pragma, or the test-unit-name parameter of an scl_test_flist pragma that has already been declared.
  • This pragma can only work in STRIDE version 2.1 or later.
  • The host PC must also have a recent distribution of ActiveState Perl installed.
  • Refer to the Test_Units page for more information on capturing and qualifying test classes.

Example

   /*
   * Example test class using Runtime test services
   * 
   * @description
   * this is a basic test class that uses the C runtime API to set status
   * and add comments.
   * 
   */
   #include <srtest.h>
   class RuntimeServices_fixtures {
   public:
       void setup (void) 
       {
           srTestCaseAddComment(srTEST_CASE_DEFAULT, "setup called");
       }
       void teardown (void) 
       {
           srTestCaseAddComment(srTEST_CASE_DEFAULT, "teardown called");
       }
       void tc_ExpectPass(void) 
       {
           srTestCaseAddComment(srTEST_CASE_DEFAULT, "this test should pass");
           srTestCaseSetStatus(srTEST_CASE_DEFAULT, srTEST_PASS, 0); 
       }
       void tc_ExpectFail(void) 
       {
           srTestCaseAddComment(srTEST_CASE_DEFAULT, "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