Replies: 1 comment
-
Die Tests sollten schon zum gleichen Ergebnis führen, wie der praktische Betrieb von FHEM. Fehlerhafte Nachrichten werden halt verworfen und führen maximal zu einem Log-Eintrag. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
@HomeAutoUser
@elektron-bbs
Ich bin dabei die Tests aus dem 98_Unittest Modul in Tests zu überführen, die im FHEM Testmodus laufen. (perl fhem.pl -t)
Mein erster Ansatz war, einen wrapper zu erstellen, der die vorhandenen Tests aus dem Ordner Unittest/Tests über das 98_Unittestmodul aufruft.
Der lief auch, aber ich habe es nach 2h verworfen, da ich die Perl Fehlermeldung nicht in die Ausgabe bekommen habe, wenn es eine gab.
Ich habe mir anschließend die Mühe gemacht, die Tests umzuschreiben, so dass diese im FHEM Testmodus laufen.
Dabei sind mir noch Kleinigkeiten aufgefallen, dass das Modul abstürzt, wenn z.B. kein FHEMWeb definiert ist.
Das ist relativ einfach zu beheben.
Jetzt bin ich an dem Punkt angelangt, dass ich den rmsg Test umgeschrieben habe.
Der prüft ja, anhand der JSON Struktur anhand einer rmsg was an Signalduino_Dispatch übergeben wird.
Dabei habe ich den Testablauf ein bisschen angepasst. Ihr ahnt vielleicht schon, irgendwas hindert mich gerade weiter zu machen.
Es dreht sich um das Thema der Wiederholung.
Der Test hat bislang optional geprüft wie oft Signalduino_Dispatch aufgerufen wurde. Damit wurde die Anzahl an Wiederholungen gezählt.
Weiterhin wurde geprüft, ob DMSG bei einem Dispatch Aufruf den richtigen Wert hat.
Mit meinem aktuellen Known how und der Notwendigkeit den Test ein wenig anzupassen, habe ich den Test so verändert, dass bei jedem Dispatch Aufruf auch die Parameter, also z.B. dmsg stimmen.
Das Ergebnis könnt ihr vielleicht schon erahnen.
Der DMSG Wert entspricht manchmal nur bei einer Wiederholung dem Soll Wert und für die anderen Fälle, ist es abweichend.
Ich könnte natürlich jetzt einfach zur alten Testlogistik zurück kehren und sagen, interessiert mich nicht ob für Wiederholungen auch der gleiche DMSG Wert erhalten wird, Hauptsache einmal kommt er vor.
Andererseits scheint mir ein Datensatz der andere Daten enthält dann ja auch keine vollständige Wiederholungen zu sein.
Wie seht ihr das denn?
Beta Was this translation helpful? Give feedback.
All reactions