/DUnitX

Delphi Unit Test Framework

Primary LanguagePascalApache License 2.0Apache-2.0

DUnitX Overview

DUnitX is a new test framework, taking ideas from DUnit, NUnit and other test frameworks. It is designed to work with Delphi 2010 or later, it makes use of language/RTL features that are not available in older versions of Delphi.

DUnitX Features

  • Any class can contain tests
  • Attribute based testing
  • An extensive Assert Class
  • Setup and TearDown per test method and per test fixture.
  • API Documented using Xml-Doc
  • Console Based Runner
  • XML Logging
    • produces output compatible with NUnit (compatible with CI servers like ContinuaCI)
    • produces output compatible with JUnit (compatible with Gitlab CI)
  • Cross platform currently supporting:
    • Win32,Win64 and OSX Compilers.
  • Limited backwards compatibility with DUnit test classes.
  • Wizard for creating new tests.

DUnitX Planned Features

This is far from a complete list, but a few planned features are listed here to help indicate future direction.

  • GUI Test Runner - Use TestInsight
  • Multi-threaded tests - the ability to have test fixtures run in their own threads.
  • Remote logging - Simple way to run tests on remote machines (just an idea at this point)
  • Data driven test cases - the ability to provide a test method with a data source and test each entry in the data source. The data source will be virtualised so it can be anything (text file, db table etc).

Tips and Tricks

  • In order to workaround the Delphi XE3 Bug, you need to add the unit DUnitX.Init to your test projects.
  • To use this GitHub version of DUnitX in place of the bundled version included with RAD Studio, it’s pretty simple by following these steps (as the bundled version is quite a few commits behind this repo):
    • Remove the Embarcadero Unit test package (DUnitXIDEExpertXXX.bpl) from the installed packages list.
    • In the cloned repo, open DUnitX_IDE_Expert_XXXX.dproj (matching your Delphi version), compile and install the package.
    • In your unit test projects, adjust your search paths to point to the repo\Source folder.

Support

A Delphi Praxis Forum has been setup to discuss DUnitX.

Contributors

A recent list of contributors can always be obtained on GitHub.

License

Apache Version 2.0 Copyright (C) 2012-2016 Vincent Parrett vincent@finalbuilder.com
http://www.finalbuilder.com

See license.txt for details.