Unit Testing Framework

This project aims at providing a complete set of tools for programmers for writing and maintaining unit tests.


  • Runs on Windows and MacOSX
  • Completely documented and with lots of examples
  • Includes more than ten test assertions coming in three versions
  • Allows for the arbitrary grouping of test cases
  • Easily expandable and adaptable
  • Support for executing test suites from the command line
Planned features (open for collaboration):

  • Threadsafe test assertions
  • Igor Pro help file documentation
The PDF manual of the latest version can be downloaded here.

Development happens here.

Project Details

Current Project Release

Unit Testing Framework IGOR.6.00.x-1.06

Release File: UnitTestingFramework-v1.06.zip
Version: IGOR.6.00.x-1.06
Version Date: Thu, 03/23/2017 - 06:16 pm
Version Major: 1
Version Patch Level: 6
OS Compatibility: Mac-Intel Windows Mac-PPC
Release Notes:

  • Fix missing license issue

The unit testing framework is now licensed under 3-Clause BSD. All contributors agreed to this license.

  • Add option to create TAP compatible log files

  • Add option to create JUNIT compatible log files

  • Fixed edge cases with empty test suites, non-reachable test cases and similiar

  • Overwrite check for output files

  • Add optional arguments keepDataFolder and allowDebug to RunTest

  • Split of TestBegin functions in internal and user part

TestBegin, TestEnd, TestSuiteBegin, TestSuiteEnd, TestCaseBegin and TestCaseEnd were split into a internal function that is always executed and a hookable function where a user can extend functionality. The User functions are called directly after the internal functions

  • More detailed error message on unexpected runtime errors

  • FIX: AbortFlag was not initialized on TEST_BEGIN

  • FIX: Check for Procedure File Names was Case-Sensitive

  • Docu: Use tabwidth of 4 for igor pro example code

  • Nicify examples

  • TEST_BEGIN/TEST_END: Turn off Igor Pro Debgger during test execution Turning off the debugger allows us to support non-interactive runs better as we don't rely on any defaults.

View All Releases




Igor Pro 8

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More