Gibt es eine möglichkeit mit Lazarus unit tests zu machen, oder ist es nötig, da manuell mit dem Debugger drüberzugehen? Wenn ja, wie - bzw Wo finde ich Informationen dazu (hab mal in die Onlinehilfe geschaut und nix gefunden. muss aber zugeben, dass ich da noch nicht alles durchgeschaut hab, weil´s ja so übersichtlich strukturiert ist )
Also Unit-Tests haben jetzt nicht notwendigerweise was mit deiner Entwicklungsumgebung zu tun. Bei meinen Anwendungen habe ich normalerweise einfach ein zweites Build-Target welches eine zweite Binary produziert die nichts anderes macht als Unit-Tests auszuführen.
( Edit: Natürlich ist es hilfreich wenn die IDE sowas unterstützt....aber notwendig ist die Unterstützung nicht. )
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
nennt sich FPCUnit. Lazarus hat da auch Framework-Zeug zu. Unter File -> New… gibts dann im Baum unter Project den Eintrag FPCUnit Test Application. Wahlweise auch als Konsolenversion. Für weitere Infos wie diese Tests aussehen müssen gibts bei den FPClern ne PDF: fpcunit.pdf. Diese gilt aber anscheinend als veraltet.
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
ok, das Testzeugs funktioniert, die Funktionen, die ich testen wollte, verhalten sich aber mehr als seltsam... Naja, ist ja der Sinn von Unit tests, das rauszufinden.
Allerdings zeigt der mir immer so ein Assembler-Fenster, wenn ein Test fehlschlagt Soll das so sein?
Und aus irgendeinem Grund Funktionieren wieder mal die Funktionen nicht, bei denen ich am wenigsten an der Richtigkeit gezweifelt habe... Was gleichzeitig die sind, wo ich absolut keine Ahnung hab, wie ich den Fehler beheben kann.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Vielleicht hast du die Testbedingung verdreht? Das Assemblerfenster ist von Lazarus, weil ein fehlgeschlagener Test eine Exception wirft, und dann kommen nunmal Assemblerfenster .
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Und aus irgendeinem Grund Funktionieren wieder mal die Funktionen nicht, bei denen ich am wenigsten an der Richtigkeit gezweifelt habe... Was gleichzeitig die sind, wo ich absolut keine Ahnung hab, wie ich den Fehler beheben kann.
Also als allererstes sollte man checken ob der Unit-Test funktioniert. Also baue einen Unit-Test der garantiert funktioniert bzw. einen der garantiert fehltschlägt. Etwa "1 = 1" und "1 = 2".
Also als allererstes sollte man checken ob der Unit-Test funktioniert.
Ja, der funktioniert. Die eine von meinen Funktionen hat wegen einem Compilerbug Mist ausgespuckt, bei den übrigen habe ich einfach die numerische Genauigkeit gemessen Also zB (a + b) - b = a, was natürlich eine exception wirft, weil da gerundet wird, und nicht das gleiche rauskommt.
Wobei, irgendwie sind unit test nix anderes, als zweimal den gleichen Code schreiben, und ausprobieren, ob dabei das gleiche rauskommt Weil sonst hab ich wieder das Problem mit den Rundungsfehlern
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.