Theory of usage

In classic software development, a modest complicated software program is typically decomposed into several cooperating modules. The compiler interprets the source code for each module and creates an object file holding the compiled code. The linker assembles all the object files and creates the complete executable. If one or more, of these object files were not present, the linker could not assemble the software program and it would not be able to execute. In TestApe terminology, an incomplete assembly of object files is called a unit. The TestApe instrumenter combines these units with the framework, the TestApe tests and with mocks for the functions in missing object files, in order to turn it all into a TestApe executable.

When running a TestApe executable the behavior of the unit is tested using the TestApe framework and the result of the tests are reported as shown below

 In stub execute
 PASSED verify command
   expected .......... [000] 6c 69 6e 6b 20 40 74 65 'link @te'
   actual ............ [000] 6c 69 6e 6b 20 40 74 65 'link @te'
 PASSED verify file existence testape_prelink_args
   expected .......... testape_prelink_args
   actual ............ testape_prelink_args
 PASSED verify file size testape_prelink_args
   expected .......... 52
   actual ............ 52
 PASSED verify testape_prelink_args
   expected .......... [000] 6d 79 6f 62 6a 2e 6f 62 'myobj.ob'
   actual ............ [000] 6d 79 6f 62 6a 2e 6f 62 'myobj.ob'
 PASSED verify ret_val
   expected .......... 0 (0)
   actual ............ 0
 PASSED test instrument_testape_lib
The entire process can be automated and run repeatedly. A TestApe executable is typically run, whenever one of the modules in the unit has changed. The test verifies that the new functionality behaves as expected ,or that the unchanged part of the unit is still working.



The latest headlines from

TestApe Release 1171 available, Aug 20th 2014

It has been a long time since last official release and the list of bugfixes, features and supported platforms accumulating in the beta has grown substantially. I am happy to annouce that a new release is ready.


TestApe beta version available, Jul 21th 2014

New beta version is now available for download.


TestApe Release 880 available, Dec 3rd 2011

New is this release are support for floating point validations and function mocking. Also, MinGW has been added to the list of supported platforms.


Forum change, Mar 27th 2011

TestApe forum is now hosted on Proboards. Support questions can be posted here or send directly on email. Due to ...


TestApe beta release available, Sep 27th 2011

TestApe can now be used with MinGW GCC on windows. Also supported in this beta are floating point types in validations or when mocking functions


IPad update for WebTTY, May 15th 2011

A small fix for webtty scripts, to allow the usage from Apple IPads. Tab on textarea to bring up IPad keyboard - you may have to scroll webpage beneath keyboard, in order to actually see what you're typing.

TestApe Release 791 available, Apr 2nd 2010

This release contains a new flexible mocking system with default mocks automatically generated for unresolved functions. Installation packages are available for GCC/Linux, GCC/CygWin as well Visual Studio 2009/Windows XP or Vista.