![]() |
Delphi-Version: 5
CommandLine zur Laufzeit setzen
Ich habe eine Klasse, die CmdLine auswertet. Um die Klasse zu testen, brauche ich geeignete Testfälle. Ich würde daher gern die CmdLine vor den Tests vom Programm selber setzen.
Code:
Geht das überhaupt?
CmdLine:=Application.exename + ' /r=demo /s=abc';
|
AW: CommandLine zur Laufzeit setzen
Verstehe ich das richtig, Du möchtest die Unit-Tests automatisch laufen lassen, vor Begin
möchtest Du Test-Parameter (manuell) setzen. Kannst Du die Parameter nicht im Test-Setup setzen? Vielleicht ist das ein Ansatz? -> ![]() Grüße Klaus |
AW: CommandLine zur Laufzeit setzen
Nicht wirklich, aber trotzdem danke dafür.
Ich kann über Run/Parameter die CmdLine setzen, oder ich starte die Tests über Batchjobs, aber besser gefallen würde mir, wenn ich die CmdLine im Code ändern könnte. |
AW: CommandLine zur Laufzeit setzen
.. dann willst Du das Programm testen (white box testing) und nicht nur die cmdLine Parser Klasse.
Grüße Klaus |
AW: CommandLine zur Laufzeit setzen
Zitat:
|
AW: CommandLine zur Laufzeit setzen
Zitat:
|
AW: CommandLine zur Laufzeit setzen
Zitat:
Wie dem auch sei, Du musst das Auslesen der CmdLine von der Auswertung trennen. a) Du könntest den Code der Auswertung so ändern, dass er nicht direkt ParamStr abfragt sondern z.B. ein Array mit den Params bekommt. Dann kannst du im Tests diese Array abfüllen. Im Produktivcode wird das Array halt mit ParamStr abgefüllt, was Du dann nicht testen kansnt. b) Du machste eine neue unit die du bei uses aufführst. In diese unit definierst Du ParamStr und ParamCount neu, welche dann jeweils auf die orginalen Param-Methoden zugreifen oder Testdaten liefern. Ich habe mal Ich selber habe mal den Parser von ![]() Leider ist die Methode "function TCommandLineParser.Parse(const values: TStrings): ICommandLineParseResult;" nicht public, liese sich weil Sourcen alle da leicht ändern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz