Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

DUnitX

Delphi Unit Test Framework

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

DUnitX Overview

DUnitX is a new test framework, taking ideas from DUnit, NUnit and other test frameworks. It is designed to work with Delphi XE2 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

  • FMX / mobile: there is no console app on Android/iOS. Use DUnitX.Loggers.Console.FMX (DUnitX.Loggers.Console.FMX.Run) as a console stand-in that streams results to an in-app memo. This is not a GUI test explorer; for IDE workflows use TestInsight. See Docs/FMX-Pseudo-Console.md.
  • 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+ Vincent Parrett vincent@finalbuilder.com
http://www.finalbuilder.com

See license.txt for details.