Test zeigen Fehler an??

christophbued
Mausschubser
Mausschubser
Beiträge: 54
Registriert: 12. Mär 2012 13:43

Test zeigen Fehler an??

Beitrag von christophbued »

Hi
zeigen die mitgelieferten test auch an welche methode nicht richtig funktioniert.
bin jetzt eigentlich fertig mit aufgabe 1 und 2 test eins funktioniert auch nur test 2 nicht.
Da der mir natürlich nur sagt was falsch weiß ich natürlich nicht wo ich anfangen soll zu suchen.

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Test zeigen Fehler an??

Beitrag von JannikV »

Ja die Übersichtlichkeit der Tests ist vll etwas suboptimal gelöst. Mit den ganzen Error Code Variablen die geshiftet werden usw. Die assertXXX Methoden von JUnit würden wahrscheinlich besser aufzeigen wo's dran mangelt.

Ich bin so vorgegangen: Gucken warum es rot wird. Flog ne Exception? Dann funktioniert etwas nicht korrekt. StackTrace ansehen, Brakepoints setzen und gucken was passiert. Keine Exception sondern ein AssertionError? Läuft durch, Test schlägt aber fehl. Dann wieder versuchen einzugrenzen wo das passiert, Brakepoints setzen und mit dem Debugger nachschauen. Viel mehr kann man da nicht machen.

VG

sab
Mausschubser
Mausschubser
Beiträge: 97
Registriert: 28. Okt 2011 08:42

Re: Test zeigen Fehler an??

Beitrag von sab »

Ich hatte auch das Problem, dass die Test nicht durchliefen, aber händisch stimmten die Ergebnisse nach Ausführen evalutate()-Methode.
Geholfen hat mir schließlich der sehr wertvolle Hinweis: http://www.d120.de/forum/viewtopic.php? ... 45#p141363
Genauso wie man nicht voraussetzen kann, dass in den Tests assembleNumbers aufgerufen wurde bevor assemblePointNumbers getestet wird. (JannikV)
Als ich das eingefügt habe gings!

Volkan
Erstie
Erstie
Beiträge: 18
Registriert: 16. Okt 2010 19:50

Re: Test zeigen Fehler an??

Beitrag von Volkan »

Hey,

beim Ausführen des JUnit Tests bekomme ich folgende Fehlermeldungen:

Expression 6 does not maintain the correct elements after calling assembleNumbers().
Expression 4 does not maintain the correct elements after calling assembleNumbers().
Expression 3 does not maintain the correct elements after calling assembleNumbers().
Expression 6 does not have the correct length after calling assembleNumbers().
Expression 4 does not have the correct length after calling assembleNumbers().
Expression 3 does not have the correct length after calling assembleNumbers().


Expressions 3,4 und 6 scheinen betroffen zu sein. Das sind genau die Expressions die "(" und ")" enthalten. Kann mir viell. jemand ;der einen ähnlichen Fehler hatte, helfen?

Gruß

Volkan

fabian.wagner
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 152
Registriert: 19. Okt 2010 12:51

Re: Test zeigen Fehler an??

Beitrag von fabian.wagner »

JannikV hat geschrieben:Ja die Übersichtlichkeit der Tests ist vll etwas suboptimal gelöst. Mit den ganzen Error Code Variablen die geshiftet werden usw. Die assertXXX Methoden von JUnit würden wahrscheinlich besser aufzeigen wo's dran mangelt.

Ich bin so vorgegangen: Gucken warum es rot wird. Flog ne Exception? Dann funktioniert etwas nicht korrekt. StackTrace ansehen, Brakepoints setzen und gucken was passiert. Keine Exception sondern ein AssertionError? Läuft durch, Test schlägt aber fehl. Dann wieder versuchen einzugrenzen wo das passiert, Brakepoints setzen und mit dem Debugger nachschauen. Viel mehr kann man da nicht machen.

VG
Das Shiften dürfte euch eigentlich nicht interessieren. Das braucht man nur um die richtigen Fehlermeldungen ausgeben zu lassen :)

Ich habe das so gemacht, da Asserts in JUnit beim Fehlschlagen den kompletten Test abbrechen. So läuft für jede getestete Methode alles durch.

Eric_B
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 112
Registriert: 14. Okt 2010 22:44

Re: Test zeigen Fehler an??

Beitrag von Eric_B »

fabian.wagner hat geschrieben:...
Ich habe das so gemacht, da Asserts in JUnit beim Fehlschlagen den kompletten Test abbrechen. So läuft für jede getestete Methode alles durch.
Deswegen sollte man pro Test Funktion nur 1 Sache/Funktion testen und eben nicht wie hier X Funktionen auf einmal.

Die Fehlersuche wird durch die Tests wie sie momentan sind jedenfalls nicht sonderlich unterstützt. Da man eben "sein Ergebnis" und die "Erwartung" nicht erkennt sondern nur das eben etwas falsch ist.

xshisdi32
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 10. Apr 2011 17:24
Wohnort: Bessungen, Darmstadt
Kontaktdaten:

Re: Test zeigen Fehler an??

Beitrag von xshisdi32 »


patrik_s.stud.tu
Mausschubser
Mausschubser
Beiträge: 69
Registriert: 12. Okt 2006 20:56

Re: Test zeigen Fehler an??

Beitrag von patrik_s.stud.tu »

Volkan hat geschrieben:Hey,

beim Ausführen des JUnit Tests bekomme ich folgende Fehlermeldungen:

Expression 6 does not maintain the correct elements after calling assembleNumbers().
Expression 4 does not maintain the correct elements after calling assembleNumbers().
Expression 3 does not maintain the correct elements after calling assembleNumbers().
Expression 6 does not have the correct length after calling assembleNumbers().
Expression 4 does not have the correct length after calling assembleNumbers().
Expression 3 does not have the correct length after calling assembleNumbers().


Expressions 3,4 und 6 scheinen betroffen zu sein. Das sind genau die Expressions die "(" und ")" enthalten. Kann mir viell. jemand ;der einen ähnlichen Fehler hatte, helfen?

Gruß

Volkan
Ohne Ausgaben oder Verhalten deines Codes ist es schwer direkt einen Tipp zu geben. Ansetzen wuerde ich mal bei dem Verhalten von SimpleExpression oder aehnlichem. Ich vermute mal dass es daran liegt dass du Klammern im Code nicht richtig behandelst (Falls eine SimpleExpression ausgewertet wird am Anfang ( ) stehen lassen und sobald sie atomic ist diese gegen den Wert ersetzen). Hilft das vlt schon?

theChaoS
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 22. Apr 2012 03:39

Re: Test zeigen Fehler an??

Beitrag von theChaoS »

Ja aber genau das Problem habe ich auch
alle Eingaben werden 100 % richtig verabeitet aber

Expression X does not maintain the correct elements after calling assembleNumbers().

Wäre vileicht ganz net zu wissen was genau du da abprüfst ;D.

Ach ja kann es sein das es daran liegt das ich - Zeichen und Zahlen in einer Seperaten Funktion zusammenführe (ich finde die Aufgabenstellung in der Richtung recht unklar und die Tests naja ^^) ?

patrik_s.stud.tu
Mausschubser
Mausschubser
Beiträge: 69
Registriert: 12. Okt 2006 20:56

Re: Test zeigen Fehler an??

Beitrag von patrik_s.stud.tu »

Wenn du mit separater Funktion != assembleNumbers meinst und assembleNumbers aktuell bei dir nicht ausgefuellt ist, fuehrt das wahrscheinlich zu deinem Fehler. Was genau hast du denn in assembleNumbers stehen? (kein Code, nur Konzepte bitte)

theChaoS
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 22. Apr 2012 03:39

Re: Test zeigen Fehler an??

Beitrag von theChaoS »

Was verlangt war. Es werden im wesenlichen alle Zahlen zusammengeführt d.h. aus (|3|0|3|+|3|3|) wird (|303|+|33|)
aber solche dinge wie (|-|3|4|) behandel ich in einer extra funktion. (Die nur - Zeichen an Zahlen macht wen nötig).

Eric_B
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 112
Registriert: 14. Okt 2010 22:44

Re: Test zeigen Fehler an??

Beitrag von Eric_B »

theChaoS hat geschrieben:... solche dinge wie (|-|3|4|) behandel ich in einer extra funktion. (Die nur - Zeichen an Zahlen macht wen nötig).
Dann sag ich dazu mal
You may ignore parentheses, operations and functions in Task 1! Furthermore, you may assume that num-
bers are not preceded by a sign ’+’ or ’-’.
heißt du musst diese Sonderbehandlung gar nicht machen :-)

ez22
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 28. Mär 2011 14:52

Re: Test zeigen Fehler an??

Beitrag von ez22 »

mein TaskII Test läuft nicht, weiß leider nicht woran es liegt... Die Berechnungen aus dem Test rechnet er richtig aus (habs in einem main alles ausprobiert)
bin grade auf der Suche :(

habe in meiner evaluateSimpleExpression System.out´s gesetzt, gebe meine die Liste aus
bei schaut es so aus:
3.5|+|0.3|-|4.7|+|4|-|2354|*|7|/|7.0|-|1|/|10
3.5|+|0.3|-|4.7|+|4|-|16478|/|7.0|-|1|/|10
3.5|+|0.3|-|4.7|+|4|-|2354|-|1|/|10
3.5|+|0.3|-|4.7|+|4|-|2354|-|0.1
3.8|-|4.7|+|4|-|2354|-|0.1
3.8|-|4.7|+|4|-|2354|-|0.1
3.1|-|2354|-|0.1
3.1|-|2354|-|0.1
-2350.9|-|0.1
-2351.0

beim Test so:

3|.|5|+|5|.|1|7|-|4|.|7|+|4|-|2|3|5|4|*|7|/|7|.|0|-|1|/|1|0
3|.|5|+|5|.|1|7|-|4|.|7|+|4|-|2|3|5|28|/|7|.|0|-|1|/|1|0
3|.|5|+|5|.|1|7|-|4|.|7|+|4|-|2|3|5|4|.|0|-|1|/|1|0
3|.|5|+|5|.|1|7|-|4|.|7|+|4|-|2|3|5|4|.|0|-|1|0
3|.|10|.|1|7|-|4|.|7|+|4|-|2|3|5|4|.|0|-|1|0
3|.|10|.|1|7|-|4|.|7|+|4|-|2|3|5|4|.|0|-|1|0
3|.|10|.|1|3|.|11|-|2|3|5|4|.|0|-|1|0
3|.|10|.|1|3|.|11|-|2|3|5|4|.|0|-|1|0
3|.|10|.|1|3|.|9|3|5|4|.|0|-|1|0
3|.|10|.|1|3|.|9|3|5|4|.|-1|0

und der Test sagt "throw new IllegalArgumentException("Wrong operator in sub operation."... wobei er bei mir richtig alles berechnet?
*scheint so dass er nicht assemblet... warum?

Vielen Dank!

ez22
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 28. Mär 2011 14:52

Re: Test zeigen Fehler an??

Beitrag von ez22 »

evaluate ruft (sollte aufrufen) wohl assemble funktionen auf ^^ ich mag Fehlersuche... Nicht
also alle gelöst

Danke!

Antworten

Zurück zu „Archiv“