Delphi Unit Test Framework
Pascal Batchfile PHP
Permalink
Failed to load latest commit information.
Build Changed DUnitX.TEsts.TestNameParser.pas to compile under XE2/64 Bit. Jul 25, 2014
Examples Replace `DUNITX-DEBUG` in `.dproj` files with `DUNITXDEBUG` to keep `… Sep 8, 2016
Expert Sync with Berlin - added Berlin dproj etc. Apr 28, 2016
Images Adding VCL GUI Logger (#147) Jun 1, 2016
Tests Replace `DUNITX-DEBUG` in `.dproj` files with `DUNITXDEBUG` to keep `… Sep 8, 2016
.gitattributes Enforcing Windows CRLF for line endings Apr 22, 2016
.gitignore fixed firemonkey dpr errors. Added OSX32 output folder to .gitignore Jul 25, 2014
CONTRIBUTING.md Replaced ReadMe.txt with README.md Jan 14, 2014
Clean.bat Fixed crlf issue Jan 31, 2015
DUNitX.Loggers.GUIX.fmx Fixed crlf issue Jan 31, 2015
DUNitX.Loggers.GUIX.pas Merging in D10 Seattle changes. Oct 7, 2015
DUNitX.Loggers.GUIX.vlb First version of a Firemonkey Runner Nov 17, 2013
DUNitX.Loggers.MobileGUI.fmx Added missing fmx file Jan 11, 2017
DUNitX.Loggers.MobileGUI.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Assert.Ex.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Assert.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Attributes.pas Fix two typos (#165) Dec 1, 2016
DUnitX.AutoDetect.Console.pas Changes required to tun DUnitX in Linux Apr 27, 2016
DUnitX.Banner.pas tidying up. Sep 7, 2015
DUnitX.CategoryExpression.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.CommandLine.OptionDef.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.CommandLine.Options.pas Another run through the merge process. Oct 8, 2015
DUnitX.CommandLine.Parser.pas more merge fixes. Oct 8, 2015
DUnitX.ComparableFormat.Csv.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.ComparableFormat.Xml.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.ComparableFormat.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.ConsoleWriter.Base.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Constants.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.DUnitCompatibility.pas Oops - copy/paste issue. Oct 19, 2015
DUnitX.Exceptions.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Extensibility.PluginManager.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.Extensibility.pas Fixed av in test case when fixture executed multiple times (from gui … Oct 11, 2015
DUnitX.FilterBuilder.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Filters.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.FixtureProviderPlugin.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.FixtureResult.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.Generics.pas Another run through the merge process. Oct 8, 2015
DUnitX.Helpers.pas Fixed XE2 Compilation. Aug 22, 2016
DUnitX.Init.pas Fix two typos (#165) Dec 1, 2016
DUnitX.InternalInterfaces.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.IoC.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Linux.Console.pas Changes required to tun DUnitX in Linux Apr 27, 2016
DUnitX.Loggers.Console.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Loggers.GUI.VCL.RichEdit.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Loggers.GUI.VCL.dfm Fix of issue 176 (#177) Jan 26, 2017
DUnitX.Loggers.GUI.VCL.pas Save checked testcases to inifile (#171) Dec 1, 2016
DUnitX.Loggers.Null.pas made all methods of TDUnitXNullLogger virtual Oct 7, 2015
DUnitX.Loggers.Text.pas more merge fixes. Oct 8, 2015
DUnitX.Loggers.XML.NUnit.pas Fixinsight tidy up. Jan 26, 2016
DUnitX.Loggers.XML.xUnit.pas Updated copyright notice. Jul 26, 2015
DUnitX.MacOS.Console.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.MemoryLeakMonitor.Default.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.MemoryLeakMonitor.FastMM4.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.MemoryLeaks.inc Updated copyright notice. Jul 26, 2015
DUnitX.OptionsDefinition.pas Fixinsight tidy up. Jan 26, 2016
DUnitX.ResStrs.pas Fix two typos (#165) Dec 1, 2016
DUnitX.RunResults.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.StackTrace.EurekaLog7.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.StackTrace.JCL.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.StackTrace.MadExcept3.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.StackTrace.MadExcept4.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Stacktrace.inc Updated copyright notice. Jul 26, 2015
DUnitX.Test.pas Fixinsight tidy up. Jan 26, 2016
DUnitX.TestFixture.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.TestFramework.pas fixed false positive on leak reporting (#178) Feb 12, 2017
DUnitX.TestNameParser.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.TestResult.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.TestRunner.pas Log SetupFixture errors in each test case result (#173) Jan 11, 2017
DUnitX.Timeout.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Types.pas Merging in D10 Seattle changes. Oct 7, 2015
DUnitX.Utils.XML.pas Another run through the merge process. Oct 8, 2015
DUnitX.Utils.pas Fixed XE2 Compilation. Aug 22, 2016
DUnitX.WeakReference.pas More nextgen changes. Oct 10, 2015
DUnitX.Windows.Console.pas Another run through the merge process. Oct 8, 2015
DUnitX.inc Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX_2010.groupproj Created .dproj / .dpk for all supported delphi version. Jan 5, 2014
DUnitX_D10Berlin.groupproj Sync with Berlin - added Berlin dproj etc. Apr 28, 2016
DUnitX_D10Seattle.groupproj Added D10 Seattle support Sep 7, 2015
DUnitX_XE.groupproj IDE Expert Framwork. Dec 30, 2013
DUnitX_XE2.groupproj Reworking command line options Jul 21, 2014
DUnitX_XE3.groupproj Created .dproj / .dpk for all supported delphi version. Jan 5, 2014
DUnitX_XE4.groupproj Created .dproj / .dpk for all supported delphi version. Jan 5, 2014
DUnitX_XE5.groupproj IDE Expert Framwork. Dec 30, 2013
DUnitX_XE6.groupproj Added XE6 Support Apr 16, 2014
DUnitX_XE7.groupproj Tidying up destruction of internals. Dec 12, 2014
DUnitX_XE8.groupproj Added XE8 projects. Jun 6, 2015
Dependencies-Clone.bat Fixed crlf issue Jan 31, 2015
Dependencies-Pull.bat Fixed crlf issue Jan 31, 2015
Dependencies-Set.bat Fixed crlf issue Jan 31, 2015
Dependencies-Show.bat Fixed crlf issue Jan 31, 2015
Dependencies.bat Fixed crlf issue Jan 31, 2015
Dependencies.txt Fixed crlf issue Jan 31, 2015
LICENSE.txt Added license.txt file Aug 15, 2013
README.md Update README.md Sep 14, 2016
Run-Dependend-Delphi-2010-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-D10S-From-Path.bat Added D10 Seattle support Sep 7, 2015
Run-Dependend-Delphi-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE1-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE2-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE3-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE4-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE5-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE6-From-Path.bat Run-Dependent-Delphi batch files for specific Delphi versions (gets t… Jun 5, 2014
Run-Dependend-Delphi-XE7-From-Path.bat Update Run-Dependend-Delphi-XE7-From-Path.bat Feb 10, 2015
Run-Dependend-Delphi-XE8-From-Path.bat Added XE8 projects. Jun 6, 2015

README.md

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 which produces output compatible with NUnit (this will make it compatible with CI servers like ContinuaCI which can process NUnit xml)
  • 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.

Support

A Google+ Community has been setup to discuss DUnitX.

Contributors

  • Vincent Parrett
  • Jason Smith
  • Nick Hodges
  • Nicholas Ring
  • Robert Love

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.