Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DUnitX MaxTime Fehler (https://www.delphipraxis.net/200106-dunitx-maxtime-fehler.html)

pHL 20. Mär 2019 18:24

DUnitX MaxTime Fehler
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Leute,

ich teste gerade DUnitX mit Delphi 10.2 Update 1 und dabei ist mir aufgefallen, dass MaxTime in "Test2" keine Auswirkung hat - weiß jemand ob das ein gewünschtes Verhalten oder ein Bug ist - ich konnte dazu leider nichts finden:

Delphi-Quellcode:
  [TestFixture]
  TMyTestObject = class(TObject)
  public
    [Setup]
    procedure Setup;
    [TearDown]
    procedure TearDown;
    // Sample Methods
    // Simple single Test
    [Test]
    [MaxTime(100)]
    procedure Test1;
    // Test with TestCase Attribute to supply parameters.
    [Test]
    [TestCase('TestA','1,2')]
    [MaxTime(100)]
    procedure Test2(const AValue1 : Integer;const AValue2 : Integer);
  end;
Ergebnis und Projekt im Anhang.

Danke und LG
pHL

Stevie 21. Mär 2019 09:07

AW: DUnitX MaxTime Fehler
 
Bug, DUnitX hat intern 2 unterschiedliche Klassen für Testmethoden mit Parametern und welche ohne (TDUnitXTestCase und TDUnitXTest), und nur in dem Code für die ohne Parameter wird der timeout timer getriggert.

Im übrigen ist das MaxTime Attribut nicht so umgesetzt, wie im Vorbild NUnit, denn in DUnitX führt es dazu, dass der Test nach der Zeit abgebrochen wird (durch die Art der Implementierung auch nur auf Windows unterstützt). In NUnit wird er voll ausgeführt, failed dann aber (sofern nicht vorher schon ein Assert dazu führte). Zum frühzeitigen Abbrechen gibts dort das Timeout Attribut

pHL 21. Mär 2019 18:35

AW: DUnitX MaxTime Fehler
 
Hallo Stefan!

Vielen Dank! (auch für die ausführliche Erklärung!)

LG
pHL


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz