Visual Assert – The Unit Testing Add-In for Visual C++
cfix – C/C++ unit testing for Win32 and NT
 
 

Key Features

Debugging support

Whenever you launch a test, you can choose whether to run it with or without debugger attached – debugging works out-of-the-box, there is no need for further configuration.

64 bit support

Visual Assert has built-in support for 64 bit development: Depending on the currently chosen build configuration in Visual Studio ("Win32" or "x64"), Visual Assert will automatically choose the right test runner. When using Visual Assert in directory mode, it even allows you to have the 32 bit and 64 bit tests run in parallel.

Multithreading

To properly test your multithreaded code, Visual Assert allows your tests to be multithreaded as well: Your tests may spawn any number of additional threads, on which assertions are handled in the same manner as on the main thread.

All native code

The test runner, which is the process your tests are executed in, is 100% native code – no .Net involved. In contrast to other testing frameworks, this means that you do not have to fear side-effects of a CLR being loaded in the process or fiddle with .Net/Native interop.

COM friendly

Visual Assert has been designed to be COM-friendly and ensures that all tests are run on a thread that is not part of any apartment. The test code is therefore free to initialize and teardown STAs and MTAs at any time – giving you all the freedom you need to test your multi-threaded code.

Multiple test runners

Visual Assert allows you to author, debug and run your tests without having to leave the IDE. However, in case you employ an automated build/test process or continous integration, you probably also want your tests to be runnable on the command line. By using the command line runners, cfix32 (for 32 bit code) or cfix64 (for 64 bit code), Visual Assert allows you right that – you can switch back and forth between IDE and command line without having to change a single line or code or having to recompile.

WinUnit compatible

If you are a WinUnit user, switching to Visual Assert is merely a matter of changing your include path once and recompiling your code: Thanks to source-comaptibility with WinUnit, your WinUnit tests are treated as a first-class citizen in Visual Assert.

...and more

Download and try Visual Assert and see by yourself how it can help speeding up your test-debug-fix cycles.
Starting a test The Test Explorer allows you to start a single or set of tests, the Run Window shows the results

Run Window: Test progress Run Window: Viewing test progress

Run Window: Details of a failed assertion Run Window: Viewing test results and details of a failed assertion

Hitting a failed assertion When running in the debugger, a failed assertion will hit a breakpoint and the Run Window will show additional details