Hallo,
ich arbeite mich - wahrscheinlich als einer der letzten hier in dieser Runde - in Tests unter DUnitX ein. Beim Ausprobieren bin ich auf ein Problem gestoßen, bei dem ich nicht weiß, ob ich was falsch mache oder ein (DUnitX-)Bug vorliegt.
Gegeben sei folgender Test (Auszug):
Delphi-Quellcode:
[Test]
[TestCase('Without currency rate change - ptCustomer', 'ptCustomer, cemchCheckWithoutCurrencyRateChange, 23')]
procedure TestRessortPricesWithExistingMarkups(const APriceType: TPriceType; const AHandleCurrencyRateChange: TCheckExistingMarkupsCurrencyHandling; const AResult: Currency);
Die beiden in der Prozedur übergebenen Parameter APriceType und AHandleCurrencyRateChange sind selbst definierte Datentypen, einfache Enums. Beim Ausführen der Test wird der erste Parameter korrekt ausgewertet, der zweite dagegen enthält den Wert -1, der dritte wiederum den korrekten Wert. Vertausche ich die ersten beiden Parameter in Testcase und Procedure-Aufruf, bleibt es trotzdem dabei: der erste Parameter wird korrekt ausgewertet, der zweite hat den Wert -1.
Mache ich einen (Denk-)Fehler bei der Gestaltung der TestCases? Habe ich eine Limitierung in den TestCases übersehen? Oder vielleicht doch ein Bug?
Entwicklungsumbebung ist Delphi Berlin 10.1 Upd 2, DUnitX ist die mitgelieferte Version.
Viele Grüße
Udo "Kretabiker" Treichel