aufgabe 4

  • Themenstarter Themenstarter Heyoka955
  • Beginndatum Beginndatum
Habe Nix gemacht, weiß nicht was ich machen soll.
Auf die Aufgabe fokussieren. Wichtig ist nicht so sehr, dass die Anwendung läuft, sondern der Zuordnungsservice. Und ein Testen braucht meiner Meinung nach keine funktionsfähige Anwendung. Jedenfalls war das bei JUnit-Tests so, die ohne Webserver liefen. Also Aufgabe: Tests generieren.
 
Auf die Aufgabe fokussieren. Wichtig ist nicht so sehr, dass die Anwendung läuft, sondern der Zuordnungsservice. Und ein Testen braucht meiner Meinung nach keine funktionsfähige Anwendung. Jedenfalls war das bei JUnit-Tests so, die ohne Webserver liefen. Also Aufgabe: Tests generieren.
Wie soll ich bei der Aufgabe vorangehen?

Soll ich erstmal alle Klassen anschauen ?
 
Auf die Aufgabe fokussieren. Wichtig ist nicht so sehr, dass die Anwendung läuft, sondern der Zuordnungsservice. Und ein Testen braucht meiner Meinung nach keine funktionsfähige Anwendung. Jedenfalls war das bei JUnit-Tests so, die ohne Webserver liefen. Also Aufgabe: Tests generieren.
Wenn die Anwendung nicht mal kompiliert, kann man schlecht testen...
 
Habe es mit gradle ausgeführt, hat funktioniert. Habe auf build gradle geglickt dann die Ordner geöffnet.

Ich Downloade es von neu einfach!

Also ich verstehe nicht, was Du mir sagen willst.

Du hast also die Sourcen mittels gradlew übersetzen können (also gradlew build und gradlew test Aufrufe)?

Dann hast Du ja eine Umgebung, mit der Du arbeiten kannst. Zur Not übersetzt du alles auf der Kommandozeile.

Aber dann wird es ggf. ein Problem mit dem IntelliJ Projekt sein. Du hast einfach die sourcen so geöffnet und daher ist das für IntelliJ wohl kein Grade Projekt geworden. Da dann einfach die IntelliJ Dinge bereinigen (also die Ordner und Dateien von IntelliJ löschen) und dann per Import Projekt öffnen. Dann kommt noch eine Auswahl, wie er es importieren soll (Maven, Gradle, ....) und da dann Gradle auswählen und schon nutzt IntelliJ für Build und Co auch Gradle. Das wäre jetzt ohne weitere Analyse ein Vorschlag von mir. Aber da Abgabe am 21 ist: Wie schon gesagt: Wenn es baut, dann baut es. Dann arbeite zur Not mit Notepad++ oder sonst irgend einem Editor.

Ständiges neu herunter laden und so ist aber selten eine Lösung.... zumindest nicht ohne vorher zu sehen, dass es notwendig ist.
 
Also ich verstehe nicht, was Du mir sagen willst.

Du hast also die Sourcen mittels gradlew übersetzen können (also gradlew build und gradlew test Aufrufe)?
Habe länger Zeit und habe das Projekt mit build gradle geöffnet! So dumm bin ich nicht

Ich lade es später herunter und ja mal schauen

Dann hast Du ja eine Umgebung, mit der Du arbeiten kannst. Zur Not übersetzt du alles auf der Kommandozeile.

Aber dann wird es ggf. ein Problem mit dem IntelliJ Projekt sein. Du hast einfach die sourcen so geöffnet und daher ist das für IntelliJ wohl kein Grade Projekt geworden. Da dann einfach die IntelliJ Dinge bereinigen (also die Ordner und Dateien von IntelliJ löschen) und dann per Import Projekt öffnen. Dann kommt noch eine Auswahl, wie er es importieren soll (Maven, Gradle, ....) und da dann Gradle auswählen und schon nutzt IntelliJ für Build und Co auch Gradle. Das wäre jetzt ohne weitere Analyse ein Vorschlag von mir. Aber da Abgabe am 21 ist: Wie schon gesagt: Wenn es baut, dann baut es. Dann arbeite zur Not mit Notepad++ oder sonst irgend einem Editor.

Ständiges neu herunter laden und so ist aber selten eine Lösung.... zumindest nicht ohne vorher zu sehen, dass es notwendig ist.
 
Zuletzt bearbeitet von einem Moderator:
Niemand behauptet, dass Du dumm bist. Und ich versuche nur zu verstehen, das Du denn genau treibst oder eben nicht treibst. Wenn ich nicht einmal verstehe, was Du genau mit welchem Ergebnis gemacht hast, dann ist alles nur ein herumraten....
 
Du hast also die Sourcen mittels gradlew übersetzen können (also gradlew build und gradlew test Aufrufe)?
Habe länger Zeit und habe das Projekt mit build gradle geöffnet! So dumm bin ich nicht

Mit "build gradle" öffnet man kein Projekt...

Ich lade es später herunter und ja mal schauen
Was willst du denn runter laden?

Das Projekt? - das ist Fehlerfrei.
IntelliJ? - funktioniert, hast du ja auch schon für andere Projekte benutzt
Java? - funktioniert auch, siehe hier drüber
Windows? - funktioniert auch, siehe hier drüber
 
Das scheint irgendwie die beliebteste Anfängerlösung zu sein: alles zig mal runter laden...
Vorher aber bitte, ohne was zu ändern, zig mal den Build anstoßen. Es könnte ja sein, dass man den Rechner erst einfahren muss.... Was dagegen tatsächlich nicht selten hilft, ist ein Reboot. Wage ich aber im konkreten Fall eher zu bezweifeln.

@Heyoka955 hast Du in der IDE die Pfade schon überprüft? Falls ja: hast Du verschiedene JDKs/JREs installiert? Falls ja: deinstalliere mal alles bis auf das, mit dem Du arbeiten willst.
 
Aus diesem Grund hasse ich Software Entwicklung!!!

Man muss einfach irgendwie was anderes machen aber bloß nicht das Projekt wegen so nem verfivkten Bug.

Einfach unnötig! Wie gut dass ich echt kein Code werden will.
Ich werde das Projekt erneut runter laden und dann schauen und wenn das nicht klappt dann mache ich das mit nem
Freund
 
Wie gut dass ich echt kein Code werden will.
Wenn du zu Code werden wollen würdest, wärst du tendenziell auch ein Fall für eine Psychiater...

Nein aber nicht so abhängig ! Programmieren bockt aber sowas ist nervig
Jetzt grad bist du nur davon abhängig, das Programm, was du gerne nutzen würdest, bedienen zu können.

Wenn du es nicht hinbekommst, ein Programm deiner Wahl zu bedienen, dann nimm einfach ein anderes. Da bist du grad als Programmierer in einer sehr komfortablen Situation...
 
Wenn du zu Code werden wollen würdest, wärst du tendenziell auch ein Fall für eine Psychiater...


Jetzt grad bist du nur davon abhängig, das Programm, was du gerne nutzen würdest, bedienen zu können.

Wenn du es nicht hinbekommst, ein Programm deiner Wahl zu bedienen, dann nimm einfach ein anderes. Da bist du grad als Programmierer in einer sehr komfortablen Situation...

also habe es erneut heruntergeladen, und es funz aber eine stelle wird rot angezeigt.

fehlermeldung ist dass er den classpath nicht findet.
12109
 

Anhänge

  • 1560953987009.png
    1560953987009.png
    186,1 KB · Aufrufe: 35
Nunja, die Probleme mit der Bedienung von Computern / Software hatten wir oft genug. Das Thema: mach generell was anderes möchte ich aber nicht wieder aufbringen ...

Aber ich musste schon wieder herzhaft lachen: es funktioniert! Nur ein Fehler wird noch angezeigt. Also funktioniert es noch nicht, denn sonst hättest Du doch keinen Fehler!

Was meinst du denn, das du später als Informatiker machen kannst, dabei viel Geld verdienen kannst ohne dass du von Computern und Software Ahnung haben musst? (Generell stellt sich da die Frage, warum man etwas studieren möchte, wenn das eigentliche Thema uninteressant ist....)
 
Nunja, die Probleme mit der Bedienung von Computern / Software hatten wir oft genug. Das Thema: mach generell was anderes möchte ich aber nicht wieder aufbringen ...

Aber ich musste schon wieder herzhaft lachen: es funktioniert! Nur ein Fehler wird noch angezeigt. Also funktioniert es noch nicht, denn sonst hättest Du doch keinen Fehler!

Was meinst du denn, das du später als Informatiker machen kannst, dabei viel Geld verdienen kannst ohne dass du von Computern und Software Ahnung haben musst? (Generell stellt sich da die Frage, warum man etwas studieren möchte, wenn das eigentliche Thema uninteressant ist....)
Programmieren macht prinzipiell Spaß aber sowas ist nervig. Ich habe die anderen Klassen debugged. Das müsste ich auch hinkriegen
 
Schon mal überlegt, warum ausgerechnet das Package rot unterringelt wird? Tipp: die Antwort steckt in der Titelzeile des IntelliJ-Fensters
 
Der befindet sich im falschen Ordner naja aber ich wollte Nix daran ändern um ehrlich zu sein. Sonst härre ich das längst gemacht.

Ich fixe heute Abend.

Verstehe nicht wieso das aber bei mir nur so war und wieso die keinen richtigen kompierbaren Code machen können.
 
Verstehe nicht wieso das aber bei mir nur so war und wieso die keinen richtigen kompierbaren Code machen können.
Ja, verstehe ich auch nicht. In der "professionellen Softwareentwicklung" bekommt man schließlich kompilierbaren Code, wenn man nur die IDE aufmacht und es ist auch nicht so, dass das Projekt etwas mit Test Driven Development zu tun hätte.
 
Programmieren macht prinzipiell Spaß aber sowas ist nervig. Ich habe die anderen Klassen debugged. Das müsste ich auch hinkriegen
Also dieses 'sowas' ist Bestandteil der Programmiererung.

Abfahrt Ski fahren macht mir Spass. Aber ich habe keinen Spass dran, auf Brettern einen Berg runter zu fahren und ich mag keinen Schnee und alle Berge über 1000m ist mir die Luft zu dünn. Aber doch: Abfahrt Ski macht mir natürlich Spaß!
 
Sind eh noch 2 Tage bis zum 21. 😉
Was hat es eigentlich mit diesen ominösen Joker auf sich? Telefonjoker? Oder Publikum, aka dieses Forum^^
 
Man könnte auch dazu übergehen, sich zu fragen: Wenn es zwei Abgaben gibt und zwei Korrektoren, wie kann ich dafür sorgen und das überprüfen, dass beide Korrektoren eine Abgabe erhalten? Praktisch ist das nicht ganz einfach. Aber hinzubekommen.
 
Sind eh noch 2 Tage bis zum 21. 😉
Was hat es eigentlich mit diesen ominösen Joker auf sich? Telefonjoker? Oder Publikum, aka dieses Forum^^
Habe noch gut Zeit, ja ich überlege auch wie ich die Verteilung machen kann.
Man hat endliche Abgaben und eine Anzahl an Korrekturen mit Arbeitszeit.
Wie knn man das am besten zuteilen hmm
 
Heyoka, ich habe dich enttarnt.

Das was du willst, ist eigenlich gar nicht die Aufgabe zum Laufen zu bringen. Das wahre Ziel ist, deine Fähigkeiten als Consultant weiter auszubauen. Es ist in der Tat eine gute Übung. Alle im Forum behaupten irgendwas und du machst es nicht. Die Übung dabei ist natürlich, dein Handeln zu begründen und die anderen von der Richtigkeit zu überzeugen. Wenn dir keiner antwortet, hast du es geschaft.

Eigentlich ja ganz clever.
 
Heyoka, ich habe dich enttarnt.

Das was du willst, ist eigenlich gar nicht die Aufgabe zum Laufen zu bringen. Das wahre Ziel ist, deine Fähigkeiten als Consultant weiter auszubauen. Es ist in der Tat eine gute Übung. Alle im Forum behaupten irgendwas und du machst es nicht. Die Übung dabei ist natürlich, dein Handeln zu begründen und die anderen von der Richtigkeit zu überzeugen. Wenn dir keiner antwortet, hast du es geschaft.

Eigentlich ja ganz clever.

Mein Problem ist es die Verteilung zu machen ! Wie stellt man sich das vor
 
Evtl. eine kleine Erläuterung: Bei so Fragen geht es weniger darum, dass wir keine Ahnung haben und dies dringend benötigen, um weiter zu kommen. Es sind Hilfen, damit Du weiter kommst. Daher solltest Du auch noch zusätzlich überlegen, was daraus dann nun folgt. (Aber natürlich schon sehr gut, dass Du auf die Frage eingegangen bist! Das ist ja teilweise auch schon ein Fortschritt. Die Antwort sollte auch weiter bleiben, nur eben ruhig etwas mehr schreiben: Was folgt daraus? Was bedeutet dies für Deine Aufgabe? Oder ist das ohne jeglichen Zusammenhang?)
 
Evtl. eine kleine Erläuterung: Bei so Fragen geht es weniger darum, dass wir keine Ahnung haben und dies dringend benötigen, um weiter zu kommen. Es sind Hilfen, damit Du weiter kommst. Daher solltest Du auch noch zusätzlich überlegen, was daraus dann nun folgt. (Aber natürlich schon sehr gut, dass Du auf die Frage eingegangen bist! Das ist ja teilweise auch schon ein Fortschritt. Die Antwort sollte auch weiter bleiben, nur eben ruhig etwas mehr schreiben: Was folgt daraus? Was bedeutet dies für Deine Aufgabe? Oder ist das ohne jeglichen Zusammenhang?)
Neuen Test schreiben !
 
@kneitzel : Danke!!

@Heyoka955 : Wenn etwas nicht testbar ist, muss man es testbar machen. Um die Zuordnung von Abgaben zu Korrektoren erstellen zu können, musst du also einen Test schreiben können, bei dem du ein bestimmtes Ereignis erwartest. Dazu muss dieser Test aber auch mit genau definierten Daten gespeist werden. Momentan kannst du aber weder die die Anzahl der Korrektoren steuern und auch nicht die Anzahl der Abgaben. Das musst du aber, sonst kannst du keinen Test durchführen. Wenn du also 2 Abgaben und 2 Korrektoren hast, erwartest du, dass jedem Korrektor eine Abgabe zugeordnet wird. Dazu machst du einen "@test" und ein "assertEqual" oder ähnliches. Und dann sorgt man dafür, dass sich der rote Balken beim JUnit-Test in einen grünen verändert.
 
@kneitzel : Danke!!

@Heyoka955 : Wenn etwas nicht testbar ist, muss man es testbar machen. Um die Zuordnung von Abgaben zu Korrektoren erstellen zu können, musst du also einen Test schreiben können, bei dem du ein bestimmtes Ereignis erwartest. Dazu muss dieser Test aber auch mit genau definierten Daten gespeist werden. Momentan kannst du aber weder die die Anzahl der Korrektoren steuern und auch nicht die Anzahl der Abgaben. Das musst du aber, sonst kannst du keinen Test durchführen. Wenn du also 2 Abgaben und 2 Korrektoren hast, erwartest du, dass jedem Korrektor eine Abgabe zugeordnet wird. Dazu machst du einen "@test" und ein "assertEqual" oder ähnliches. Und dann sorgt man dafür, dass sich der rote Balken beim JUnit-Test in einen grünen verändert.
Ja klar aber wie knn ich die Tests so amchen dass ich nicht weiß wie
Viele Korrektoren vorhanden sind und wir sollen das mit mockito framework machen
 
Dann mal den Publikumsjoker. Die Lösung ist aber nicht 100&ig richtig, da ich einige Vereinfachungen gemacht habe.

1. Ich habe in Zuordnungsservice den Quelltext so geändert:

Java:
public void abgabenZuordnen(int id) {
            
            Blatt blatt = blattService.getBlatt(id);
            
            Deque<Korrektor> korrektoren =  korrektorService.getAll();
            
                    
            List<Abgabe> abgaben = blatt.getUnzugeordneteAbgaben();

            zuordnen(abgaben,korrektoren);
            
        }

        
        public void zuordnen(List<Abgabe>abgaben, Deque<Korrektor> pruefer) {
            
        }

Damit habe ich dann diese Testmethode erstellt:

Java:
@Test
    public void test() {
        // nicht originalgetreu
        BlattService bs= new BlattService();
        
        KorrektorService ks= new KorrektorService();
        ZuordnungsService zs= new ZuordnungsService(bs,ks);
        
        //Abgaben erstellen
        List<Abgabe> abgaben= new ArrayList<Abgabe>();
        Abgabe a1= new Abgabe(UUID.randomUUID(),null);
        abgaben.add(a1);
        Abgabe a2= new Abgabe(UUID.randomUUID(),null);
        abgaben.add(a2);

        //Blatt 3 erhält 2 Abgaben
        
        Blatt b=new Blatt(3,abgaben);
        
        //Blattservice wird hier nicht aufgerufen, da Blatt schon bekannt ist
        
        //
        int a= b.anzahlAllerAbgaben();
        assertEquals(a,2);
        
        Korrektor k1= new Korrektor(UUID.randomUUID()," Hans Meyer",20);
        Korrektor k2= new Korrektor(UUID.randomUUID(),"Paul Paulsen",30);
        Deque<Korrektor> pruefer= new LinkedList<Korrektor>();
        pruefer.add(k1);
        pruefer.add(k2);
        
        zs.zuordnen(abgaben,pruefer);
        
        //Tests
        
        
    }
 

Zurück
Oben