unittesting und der qt mainloop

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Hi,

ich habe eine relativ komplexe App und möchte dafür unittests schreiben. So weit so gut, allerdings laufen Signals ohne dem QMainloop wohl nicht. Kann man das irgendwie faken?

Thx,
Florian
BlackJack

Ich weiss nicht ob Unit-Tests für die *GUI* wirklich das Mittel der Wahl sind. Die Programmlogik sollte man auch ohne GUI testen können, sonst ist die Trennung an der Stelle nicht sauber erfolgt.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Die Programmlogik schon, aber nicht die Verdrahtung zwischen Gui und Logik.
lunar

BlackJack hat geschrieben:Ich weiss nicht ob Unit-Tests für die *GUI* wirklich das Mittel der Wahl sind. Die Programmlogik sollte man auch ohne GUI testen können, sonst ist die Trennung an der Stelle nicht sauber erfolgt.
Klar muss man die Logik getrennt ohne GUI testen, aber man sollte auch testen, dass das, was in der GUI steht, auch richtig bei der Logik ankommt :)
BlackJack

Das sagen einem die Anwender dann schon. ;-)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

lunar hat geschrieben:Klar muss man die Logik getrennt ohne GUI testen, aber man sollte auch testen, dass das, was in der GUI steht, auch richtig bei der Logik ankommt
Also Python sollte endlich einen @evil-Dekorator haben, um alles zu kennzeichnen, was nicht den eigenen grauen Zellen entsprungen ist. Und für Dau-Sachen wie GUI-Eingaben noch ein @superevil, wo nicht mal mehr den Validatoren getraut werden kann. Endlich ruhig schlafen, Schuldzuweisungen ersticht das Einhorn im Traum... ;)

(wohl zuviel des Bieres ) :oops:
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Okay das hat sich wohl erübrigt, Signals und Slots gehen auch ohne dem Mainloop. Allerdings hat meine PyQt Version sich etwas verrückt aufgeführt, dann hab ich von riverbank die neueste installiert und voila keine Probleme mehr :)
Antworten