The diagram below illustrates a testszenarion where the software which is under test needs further server units. For some reasons it might be useful not to invoke the original software as server unit:

  • The server unit might be not completely implemented, when we need it for our test.
  • The server unit is not suited to produce a full testcoverage for our test purposes.
  • The server unit itself may have hidden errors.

If the server unit runs in the same process as the target software, it is possible to implement the server part into the CxxTester. The server interface will remain the same, but the behaviour is controlled by the test inputscripts. If the server runs in a seperate process, a substitute called CxxStub, can be implemented. All syntax features of CxxTester are available for the implementation of a CxxStub. The testcases of the input scripts which are intended for CxxStub usage and not for CxxTester input, can be distinguished by the leading keyword extern