Snippets

Stefan Glienke Data driven testing

Created by Stefan Glienke
unit DataDrivenTests;

interface

uses
  Spring.Testing;
  
type
  TestData = class
    class function TestCases: TArray<TTestCaseData>; static;
  end;

  TDataDrivenTest = class(TTestCase)
    [TestCaseSource(TestData, 'TestCases')]
    function DivideTest(n, d: Integer): Integer;
  end;

implementation

class function TestData.TestCases: TArray<TTestCaseData>;
begin
  Result := [
    TTestCaseData.Create([12, 3]).Returns(4),
    TTestCaseData.Create([12, 2]).Returns(6),
    TTestCaseData.Create([12, 4]).Returns(3),
    TTestCaseData.Create([0, 0]).Throws(EDivByZero).SetName('DivideByZero')
  ]
end;

function TDataDrivenTest.DivideTest(n, d: Integer): Integer;
begin
  Result := n div d;
end;

initialization
  TDataDrivenTest.Register('DataDrivenTests');
  
end.

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.