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 3. Dez 2019
Antwort Antwort
Seite 1 von 3  1 23   
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, 11x aufgerufen)

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

 
Delphi 2007 Professional
 
#2
  Alt 19. Okt 2019, 12:26
Danke, nettes Tutorial, auch wenn die Puristen natürlich sofort wieder meckern werden, dass man Tests schreibt, bevor man den zu testenden Code schreibt.

Jetzt weiss ich endlich, wozu Attribute gut sein können, bisher fehlten mir dafür nämlich sinnvolle Beispiele.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

 
Delphi 10.3 Rio
 
#3
  Alt 19. Okt 2019, 15:26
Danke für das Tutorial!
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#4
  Alt 19. Okt 2019, 23:14
Danke, nettes Tutorial, auch wenn die Puristen natürlich sofort wieder meckern werden, dass man Tests schreibt, bevor man den zu testenden Code schreibt.

Jetzt weiss ich endlich, wozu Attribute gut sein können, bisher fehlten mir dafür nämlich sinnvolle Beispiele.
Danke für das Lob. Recht hast du! Ich hab das in dem Video weg gelassen, weil ich mich bei "0 auf 100" nur auf die Technologie konzentrieren will.
In dem letzten langen Video (Delphi-Anwendungen testgetrieben mit SOLID und Design-Patterns entwickeln) behandelt und dort predige ich auch gegen Ende des Videos - "TEST FIRST"!
  Mit Zitat antworten Zitat
MicMic

 
Delphi 10.2 Tokyo Starter
 
#5
  Alt 20. Okt 2019, 05:53
Ich habe mir mal das Video angeschaut.
Ich verstehe ehrlich gesagt nicht, wieso/weshalb/warum? Was ist der Sinn und Zweck von DUnitX?
Gruß Mic
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

 
Delphi 10.3 Rio
 
#6
  Alt 20. Okt 2019, 10:53
Hast Du sein erstes Video zu DUnit (einfachere Variante) schon gesehen?
https://youtu.be/efKJPYWFoeE

Dort wird der Grund etwas genauer erklärt.

Es geht bei Tests generell darum, den Code später nicht in einer Funktion zu ändern, so dass Ergebnis bei AufrufB passt aber gleichzeitig das
bisher korrekte Ergebnis für AufrufB zerstört wird. Es soll also Nebeneffkte bei Codeänderungen verhindern.

Man kann das so weit treiben, dass man immer erst Tests schreibt und dann erst die Funktionen anpasst.

Das muss halt jeder selbst entscheiden, wie weit das sinnvoll ist oder nicht.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.2 Tokyo Enterprise
 
#7
  Alt 21. Okt 2019, 07:04
Wir testen bestimmte Basisunits und Basisfunktionen. Zum Beispiel sind das Funktionen für die Zerlegung und Analyse von Strings usw., die sehr oft an vielen Stellen verwendet werden und so bei Fehlern heftige (aber nicht schnell findbare) Probleme auslösen könnten.
Sebastian Jänicke
  Mit Zitat antworten Zitat
HeZa

 
Delphi 10 Seattle Professional
 
#8
  Alt 21. Okt 2019, 08:23
Danke für das Video.

Das mit dem Testfirst ist übrigens immer ein Problem, wenn man mit dem Testen anfängt. Da ist dann meist schon eine Menge Code vorhanden.

In solchen Fällen hilft es (wie Bernd auch kurz gezeigt hat) des Teufels Advokaten zu spielen und durch bewusstes Einbauen von Fehler zu prüfen, ob diese auch gefunden werden. Dabei überprüft man auch gleich seine Testabdeckung. Eine sehr gute Beschreibung dieses Vorgehen findet man im Blog von Mark Seamann.

https://blog.ploeh.dk/2019/10/07/devils-advocate/
https://blog.ploeh.dk/2019/10/14/tau...cal-assertion/

Diesen Blog Beitrag von Ihm finde ich auch lesenswert, ist aber ein ganz anderes Thema.
https://blog.ploeh.dk/2019/09/30/10x-developers/

Ciao Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#9
  Alt 21. Okt 2019, 10:38
für TestInsight Werbung

Kleiner Hinweis: man muss nicht selbst das TESTINSIGHT define hinzufügen, dafür gibs im Projekt Kontextmenü den Eintrag "TestInsight Projekt" den einfach anklicken, dann wird das gemacht und man sieht ein Häkchen davor (sieht man bei 6:21 auch kurz, dass es angehakt ist, nachdem es manuell hinzugefügt wurde)

P.S. Für schicke Attribute braucht man kein DUnitX nutzen, das kann man dem DUnit auch beibringen
Stefan

Geändert von Stevie (21. Okt 2019 um 10:51 Uhr)
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#10
  Alt 21. Okt 2019, 11:25
Screenshot von dem besagten Kontextmenü (bei 6:21 aus dem Video).

ti.png

Uii, hab ich auch was dazu gelernt. Habe den Knopf noch nie gesehen.
  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 21:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf