Delphi Unit Test Framework
Switch branches/tags
Nothing to show
Clone or download
turric4n and vincentparrett Fixed compilation (#216)
* Fixed compilation

Implementation of some methods in TestDataProvider lacks of correct interface declaration

* Fixed compilation

Implementation of some methods in TestDataProvider lacks of correct interface declaration
Latest commit 9179ff8 Oct 21, 2018
Permalink
Failed to load latest commit information.
Build Changed DUnitX.TEsts.TestNameParser.pas to compile under XE2/64 Bit. Jul 25, 2014
Examples Fixed compilation (#216) Oct 20, 2018
Expert TestCaseProvider Attribute (#212) Aug 27, 2018
Images Adding VCL GUI Logger (#147) Jun 1, 2016
LiveTemplates Adding Live Templates (Delphi only) with Install.bat that supports co… Mar 30, 2017
Tests Fixed compilation (#216) Oct 20, 2018
.gitattributes Enforcing Windows CRLF for line endings Apr 22, 2016
.gitignore TestCaseProvider Attribute (#212) Aug 27, 2018
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 Delphi 10.2 Tokyo support Mar 24, 2017
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 TestCaseProvider Attribute (#212) Aug 27, 2018
DUnitX.Attributes.pas const string params, inconsistent casing and formatting Aug 27, 2018
DUnitX.AutoDetect.Console.pas Correction to work with Delphi XE (#180) Mar 26, 2017
DUnitX.Banner.pas updated copyright year Sep 25, 2018
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 fixes for NEXGEN (#202) Jan 28, 2018
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 Changed param to const, chasing memory leak Aug 27, 2018
DUnitX.FilterBuilder.pas Adding VCL GUI Logger (#147) Jun 1, 2016
DUnitX.Filters.pas Delphi 10.2 Tokyo support Mar 24, 2017
DUnitX.FixtureProviderPlugin.pas const string params, inconsistent casing and formatting Aug 27, 2018
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.InternalDataProvider.pas const string params, inconsistent casing and formatting Aug 27, 2018
DUnitX.InternalInterfaces.pas TestCaseProvider Attribute (#212) Aug 27, 2018
DUnitX.IoC.pas Fix #197 issue with unraised EIoCResolutionException Nov 27, 2017
DUnitX.Linux.Console.pas Delphi 10.2 Tokyo support Mar 24, 2017
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 VCL Logger - Selectable Fixture/Test tree (#207) Aug 26, 2018
DUnitX.Loggers.GUI.VCL.pas VCL Logger - Selectable Fixture/Test tree (#207) Aug 26, 2018
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 Formatting consistency, a few bug fixes for XE, updating copyright ye… Apr 2, 2017
DUnitX.MemoryLeakMonitor.Default.pas Refactoring for D10 Seattle. Sep 7, 2015
DUnitX.MemoryLeakMonitor.FastMM4.pas Delphi 10.2 Tokyo support Mar 24, 2017
DUnitX.MemoryLeaks.inc Updated copyright notice. Jul 26, 2015
DUnitX.OptionsDefinition.pas Fixinsight tidy up. Jan 26, 2016
DUnitX.ResStrs.pas Assert.AreEqual methods for TStrings and Assert.NoDiff for comparing … Apr 5, 2017
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 Enhance stack traces with 64-bit builds (#195) Sep 25, 2017
DUnitX.Stacktrace.inc Updated copyright notice. Jul 26, 2015
DUnitX.Test.pas Changed param to const, chasing memory leak Aug 27, 2018
DUnitX.TestDataProvider.pas Removed MPL for real this time. Oct 18, 2018
DUnitX.TestFixture.pas chasing memory leak in issue #206 Sep 25, 2018
DUnitX.TestFramework.pas TestCaseProvider Attribute (#212) Aug 27, 2018
DUnitX.TestNameParser.pas Delphi 10.2 Tokyo support Mar 24, 2017
DUnitX.TestResult.pas chasing memory leak in issue #206 Sep 25, 2018
DUnitX.TestRunner.pas chasing memory leak in issue #206 Sep 25, 2018
DUnitX.Timeout.pas Formatting consistency, a few bug fixes for XE, updating copyright ye… Apr 2, 2017
DUnitX.Types.pas Formatting consistency, a few bug fixes for XE, updating copyright ye… Apr 2, 2017
DUnitX.Utils.XML.pas Another run through the merge process. Oct 8, 2015
DUnitX.Utils.pas Fixed use of DELPHI_XE3_UP for ConvStr2DynArray Nov 28, 2017
DUnitX.WeakReference.pas fixes for NEXGEN (#202) Jan 28, 2018
DUnitX.Windows.Console.pas Delphi 10.2 Tokyo support Mar 24, 2017
DUnitX.inc Assert additions, updated tests, RegEx for older Delphi, incremental … Apr 5, 2017
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_D10Tokyo.groupproj Delphi 10.2 Tokyo support Mar 24, 2017
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
TestCaseProvider.md TestCaseProvider Attribute (#212) Aug 27, 2018

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.