AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Von 0 auf 100 - DUnitX - Ein Testframework für Delphi

Von 0 auf 100 - DUnitX - Ein Testframework für Delphi

Ein Tutorial von generic · begonnen am 19. Okt 2019 · letzter Beitrag vom 16. Dez 2020
Antwort Antwort
Seite 3 von 3     123
generic
Registriert seit: 24. Mär 2004
Hallo DP,

da nächste Tutorial Video ist online. In der Reihe "Von 0 auf 100" möchte ich kurze Videos veröffentlichen, mit welchen Ihr schnell in einen neue Technologie starten könnt.

DUnitX ist wie DUnit ein Testframework womit ihr einfach Unit-Testen könnt. Was das ist und worum es geht, wird in dem Video nicht erklärt. Ihr könnt das aber gerne Nachlesen oder einfach mein Refactoring Video schauen - Ebenfalls hier in der DP unter Tutorials zu finden.

Im diesen Video stelle ich das Testframework DUnitX vor und erzähle von den Unterschieden für DUnit. Es werden die Installation und die Benutzung erklärt. Des Weiteren stelle in den Testrunner TestInsight vor.

Hier das Video:
https://www.youtube.com/watch?v=2WPlVAz-cTU


Links aus dem Video:
DUnitX - Unittesting für Delphi der neuesten Generation
https://github.com/VSoftTechnologies/DUnitX

TestInsight - IDE GUI Testrunner für DUnit
https://bitbucket.org/sglienke/testinsight/wiki/Home
Angehängte Dateien
Dateityp: 7z DUnitXVideo.7z (4,1 KB, 21x aufgerufen)

Geändert von generic (21. Okt 2019 um 11:29 Uhr) Grund: Beispiel angehängt
 
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#21
  Alt 24. Okt 2019, 11:26
Ja, aber wenn z.B. mehrere Systeme voneinander, asynchron abhänden, dann wird es eben immer schwieriger.
Und wenn die Schnittstellen sich auch mal ändern können, weil die externe Hardware-Firma Eigenschaften nicht einhalten kann, dann gibt es u.U. mehrere gültige Versionen.

Klar kann man sagen das müsste Alles vorher exakt definiert sein, aber erklär das z.B. mal einem chinesischen Lieferanten von Hardware.
Dann ist das halt nicht automatisiert testbar und sprengt den Rahmen dieses Themas - DUnit(X) eignet sich gut für Unit-, und Integrationstests - darüber hinaus kann man es sicherlich mit Modifikationen für andere automatisierte Tests benutzen, da es am Ende ja der Testbibliothek egal ist, was sie für Code in ihren Testmethoden ausführen.

Fakt ist, dass man eine stabile und robuste Grundlage schafft, wenn man Unit- und Integrationstests durchführt, so dass man viel, was man früher mühsam durch "selber durchklicken" testen musste, einspart. Und ich finde, dass diese Pillepalle Beispiele bei Unittests gar nicht so weit von der Praxis entfernt sind, da man dort nunmal sehr isoliert und kleinschrittig testet. Das muss man aber am Anfang erstmal in den Kopf bekommen, da man oft schon in Gedanken den untestbaren Softwareklump, den man meist historisch gewachsen vorliegen hat, verinnerlicht hat.
Stefan

Geändert von Stevie (24. Okt 2019 um 11:31 Uhr)
  Mit Zitat antworten Zitat
Rollo62

 
Delphi 12 Athens
 
#22
  Alt 24. Okt 2019, 12:34
Schade das es da keine fertigen Rezepte gibt.

Dann wären UnitTests also immer die erste Grundlage.

Diese können aber nicht unbedingt zusammen mit asynchronen, externen Tests integriert werden,
wie z.B. Click-Tests für das Simulieren von UI-Forms, oder physikalische Simulationen zum Testen von Sensorsignalen.

Vom Testablauf müssen dann erstmal die UnitTests laufen, das ist klar.
Und weitere Tests / Simulationen wären on-top, und nicht unbedingt Teil EINES UnitTests.

Man könnte aber z.B. externe Test-Ergebnisse von UI-Click Tests o.ä. mit in die UnitTests integrieren,
so das es erst ein UnitTest OK gibt wenn auch alle Ergebnisse stimmen.
Es spräche dann aber dagegen das UnitTests möglichst auch schnell und unabhängig sein sollten, denke ich.

Ich habe mich leider noch nicht tiefer mit dem beschäftigt was Idera da noch in Richtung Testing anzubieten hat (Ranorex, Gurock, etc.)
Es könnte aber etwas für mich dabei sein.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

 
Delphi 10.2 Tokyo Professional
 
#23
  Alt 24. Okt 2019, 13:39
Vielleihct hängt die mangelnde Akzeptanz von Unit-Tests auch damit zusammen das man den Zusammenhang und die Lösung von "Hello World" zu echten Problemen nur schwer erkennen kann.

Falls jemand gute Hinweise hat wie man solche komplexeren Strukturen noch besser Entwickeln und Testen sollte, immer her damit.
Solche komplexen Systeme werden nicht mit Unit-Tests sonder mit Integrationstests getestet. Und die sind ein ganz anderes Kaliber, wie Du schon selbst schreibst.

Den Spass mit der Kommunikation mit parallel entwickelten externen (embedded) Systemen habe ich immer wieder. Ich schreibe mir dann immer Emulatoren bzw. Simulatoren.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#24
  Alt 25. Okt 2019, 07:05
Ich habe mich leider noch nicht tiefer mit dem beschäftigt was Idera da noch in Richtung Testing anzubieten hat (Ranorex, Gurock, etc.)
Es könnte aber etwas für mich dabei sein.
Wir verwenden TestComplete, was den Vorteil hat, dass man bei in Delphi geschriebenen Programmen auf die Properties usw. von Fenstern und deren Elementen zugreifen kann usw., zudem kann man dort viel mit Skripten machen. Man kann zum Beispiel auch im Skript direkt die Delphi-Objektnamen zum Zugriff auf die Elemente eines Fensters verwenden.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Rollo62

 
Delphi 12 Athens
 
#25
  Alt 3. Dez 2019, 07:53
Nochmal zu dem Thema.
https://www.code-partners.com/testin...anorex-studio/

Ranorex sieht doch gar nicht schlecht aus ...
  Mit Zitat antworten Zitat
technomage77

 
Delphi 10.4 Sydney
 
#26
  Alt 16. Dez 2020, 11:48
Hallo,

ich bekomme beim Erst-Compilieren eine Fehlermeldung "[dcc32 Fataler Fehler] Project1.dpr(16): F2613 Unit 'DUnitX.Loggers.Console' nicht gefunden." (Youtube 5:14). Ich nutze RAD Studio Delphi 10.4 Sydney in der 'Professional with Mobile'-Edition. Andere Kollegen meinten, dass DUnitX nur in der Architect-Edition verwendet werden kann. Allerdings habe ich wie im Video DUnitX 'DUnitX_IDE_Expert_Sydney.bpl' von Git-Hub und TestInsight installiert.

Gibt es Erfahrungen mit dem Fehlen der DUnitX.Loggers.Console?
Stimmt die Erfahrung meiner Kollegen, dass man DUnitX nur in der Architect-Edition richtig verwenden kann?

Danke.
Tjark Technomage
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#27
  Alt 16. Dez 2020, 13:19
Stimmt die Erfahrung meiner Kollegen, dass man DUnitX nur in der Architect-Edition richtig verwenden kann?
Nein, die DUnitx funktioniert mit allen Versionen.

Hast du die DunitX runtergeladen und installiert z.B. von hier https://github.com/VSoftTechnologies/DUnitX ?

Die Datei ist dort mit drin: https://github.com/VSoftTechnologies...rs.Console.pas

ggf. sind deine Suchpfade nicht richtig.

Die BPL sind nur Erweiterungen der Delphi-IDE welche paar neue Knöpfe hinzufügen, so dass du z.B. eine leere Unit mit DUnitX rumpf bekommst.
  Mit Zitat antworten Zitat
Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 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