![]() |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Zitat:
Aber, dafür gibt es ja die DP. Deshalb nochmal danke. MFG Jens |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Hallo,
Zitat:
aber im Ernst. Was hat denn eine Hardware-Komponente mit einem SQL-Zugriff zu tun ? Keine ausreichenden Unit-Tests ? Heiko |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Zitat:
Daher, konnt ich das ja ohne Hardware schlecht testen. Um diesen Test durchzuführen, müsste ich also einen Datensatz habe, welchen ich dann über eine z.B. Testfunktion in die DB einlese. Da ich das aber bis jetzt ncoh nicht gemacht habe, kann ich momentan das eintragen in diese Tabelle nur mit Hardware testen. Ich hoffe auf Verständis. Gruß Jens |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Falls du noch länger mit dem Programm zu tun hast, dann erstell dir doch eine Weiche.
Also da wo auf den COM-Port zugegriffen wird, könntest du stattdessen auf eine Pipe oder eventuell auch eine Datei (wenn nur gelesen wird) umschalten und dir so, auch ohne Hardware, Testdaten ins Programm einscheußen. Man könnte auch eine ganze Komponente gegen eine Dummy-Komponente austeuschen. > z.B. die COM-Port-Komponente |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Danke,
da bin ich jetzt dran am überlegen. Ich denke das ich mit einer Textdatei zurecht kommen, die wie meine Datensatz aufgebaut ist. Allerdings überlege ich noch wie man das am Sinnvollsten realisieren kann. Mache ich mir da einen nicht sichbaren Button auf meine Anwendung, welcher dieses einlesen durchführt? oder, vieleicht ein Label oder so... Gruß Jens |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Zitat:
Wie könnte man sowas rein Softwaremässig simulieren? @Jens: Genau deswegen ist die "Knopf-Methode" eher schlecht - außer es geht wirklich nur um die Datenbank. Gruss wo |
Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Hallo,
der Fach-Begriff dafür heisst Mock-Objekt. Wie das das umsetzt, hängt von deinen Wünschen ab. Z.B. könnte man eine Boolean-Variable nehmen (bMock). Ein Bsp. für einen DB-Zugriff, bei dem die DB auch nicht vorhanden ist (ähnlich wie diene Hardware).
Delphi-Quellcode:
Ja, ich weiss, dass ist nicht genau ein Mock-Objekt (das wäre ein eigenes Objekt),
type
TClass = class bMock: Boolean; end; function CreateClass(bMock: Boolean = False): TClass; var MyClass: TClass; begin MyClass:= TClass.Create; MyClass.bMock:= bMock; Result:= MyClass; end; procedure TClass.ReadFromDB; begin if not bMock then begin // normaler Zugriff end else begin // lese aus Textdatei end; end; aber man ist ja faul. Beim Erzeugen der Klasse kann eine Boolean-Variable übergehen werden, dann reagiert sie anders bei den internen methoden. Auch Compilerschalter sind denkar. {$DEFINE MOCK} {$IFDEF MOCK} Mache ich aber nicht gern, weil man immer alles neu compilieren muss bei einer Änderung. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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-2025 by Thomas Breitkreuz