Artemis: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
== Es ist etwas schief gelaufen.. was tu ich jetzt? == | == Es ist etwas schief gelaufen.. was tu ich jetzt? == | ||
=== Eigene lokale tests funktionieren, in Artemis jedoch nicht === | |||
Code zu Testen ist eine Wissenschaft für sich und wird oft nicht korrekt umgesetzt. Da sporadisch geschriebene Tests oft visuell validiert werden, liegt darin, neben dem Mensch selbst, auch das größte Fehlerpotenzial. Insbesondere sind Leerzeichen am Ende der Zeile, oder fehlende/zusätzliche Zeilenumbrüche nicht/schwer erkennbar. Dadurch scheint es, als würden die Beispielinteraktionen korrekt umgesetzt werden, wird es tatsächlich jedoch nicht, was in Artemis zum Nichtbestehen der Tests führt. Zudem sollte sichergestellt werden, dass die Interaktionen tatsächlich korrekt eingegeben werden, hierbei hilft oft direktes Kopieren aus den Aufgaben, oder den Fehlermeldungen in Artemis. | |||
Zudem sollten Systemabhängigkeiten vermieden werden, da die Tests nicht zwangsläufig auf dem gleichen System ausgeführt werden. Eine häufige Fehlerquelle hierbei sind wieder Zeilenumbrüche, die je nach System unterschiedlich sein können. | |||
=== Exited Prematurely === | |||
Diese Meldung bedeutet, dass das Durchlaufen der Beispielinteraktion/Protokolle frühzeitig beendet wurde, also noch Ein-/Ausgaben erwartet werden. Was genau erwartet wird, kann unterschiedlich sein. Häufig liegt es daran, dass die Ausgaben nicht mit einem Zeilenumbruch (<syntaxhighlight lang="Java" inline>System.lineSeparator()</syntaxhighlight>) abgeschlossen wurden, beziehungsweise <syntaxhighlight lang="Java" inline>System.out.print()</syntaxhighlight> statt <syntaxhighlight lang="Java" inline>System.out.println()</syntaxhighlight> verwendet wurde, oder gar ganze Zeilen in der Ausgabe fehlen. | |||
[[Kategorie:Organisation]] | [[Kategorie:Organisation]] | ||
[[Hauptseite]] | [[Hauptseite]] |
Version vom 12. Februar 2024, 12:11 Uhr
🚧 | Diese Seite befindet sich in Bearbeitung | 🚧 |
Was ist Artemis?
Wie klone ich ein Projekt von Artemis?
Wie lade ich eine neue Version meines Projektes auf Artemis hoch?
Was bedeuted mein Ergebnis?
Wie oben zu sehen gibt es einige interessante Stellen im Feedback.
1. Hier findest du einen Link zu dem Commit, der Bewertet wurde. Das ist in der Regel die letzte Version die hochgeladen wurde.
2. In diesem Block sind Tests zu finden, die Fehlgeschlagen sind. Meißt steht dabei, wo genau, was gesendet wurde und was erwartet wurde. Auch zu finden ist hier eine Aufbröselung des Feedbacks und in welchen Kategorien es Abzüge gab und auch wie viel.
3. Hier sind Kommentare zu den einzelnen Abzügen zu finden, sowie Tipps und Tricks der Tutoren. Auch zu finden sind hier Anmerkungen zu Stellen, die zukünftig Abzug geben würden.
4. Hier werden alle Tests angezeigt, die erfolgreich waren. Auch stehen dort die Punkte, die für jeden einzelnen Test vergeben wurden.
Es ist etwas schief gelaufen.. was tu ich jetzt?
Eigene lokale tests funktionieren, in Artemis jedoch nicht
Code zu Testen ist eine Wissenschaft für sich und wird oft nicht korrekt umgesetzt. Da sporadisch geschriebene Tests oft visuell validiert werden, liegt darin, neben dem Mensch selbst, auch das größte Fehlerpotenzial. Insbesondere sind Leerzeichen am Ende der Zeile, oder fehlende/zusätzliche Zeilenumbrüche nicht/schwer erkennbar. Dadurch scheint es, als würden die Beispielinteraktionen korrekt umgesetzt werden, wird es tatsächlich jedoch nicht, was in Artemis zum Nichtbestehen der Tests führt. Zudem sollte sichergestellt werden, dass die Interaktionen tatsächlich korrekt eingegeben werden, hierbei hilft oft direktes Kopieren aus den Aufgaben, oder den Fehlermeldungen in Artemis.
Zudem sollten Systemabhängigkeiten vermieden werden, da die Tests nicht zwangsläufig auf dem gleichen System ausgeführt werden. Eine häufige Fehlerquelle hierbei sind wieder Zeilenumbrüche, die je nach System unterschiedlich sein können.
Exited Prematurely
Diese Meldung bedeutet, dass das Durchlaufen der Beispielinteraktion/Protokolle frühzeitig beendet wurde, also noch Ein-/Ausgaben erwartet werden. Was genau erwartet wird, kann unterschiedlich sein. Häufig liegt es daran, dass die Ausgaben nicht mit einem Zeilenumbruch (System.lineSeparator()
) abgeschlossen wurden, beziehungsweise System.out.print()
statt System.out.println()
verwendet wurde, oder gar ganze Zeilen in der Ausgabe fehlen.
Hauptseite