Ergebnis 1 bis 11 von 11

Thema: Unittests

  1. #1

    Unittests

    Ich habe mich mit dem Manuel zusammengesprochen und die Abstrakte Klasse bei den Unittests geschrieben. Jetzt werden nach jedem einzelnen Test alle Daten gelöscht. Die Daten werden in der DB gespeichert und sind in den Objekten nach dem persist auch die IDs enthalten.

    Bitte schaut euch alle eure Tests an. Es sollte jetzt nichts mehr dagegen sprechen, dass sie funktionieren. Also bitte die Tests fertig machen und danach bitte auch die Tickets im Agilo nachtragen. Bis zum MR sollten die ganzen Tickets, bei denen nur noch die Tests offen sind abgeschlossen sein!

  2. #2
    Dir ist klar, dass kaum ein Test noch funktioniert?

  3. #3

    kelvan Gast
    Lag offenbar am EntityMangagerUtil
    jetzt funken die meisten

  4. #4

    kelvan Gast
    beim flo geht's trotzdem noch nicht, kann das einer von euch so schnell wie möglich noch testen welche tests gehen bei euch.
    ich schreib zu den manuellen (ja junit ist nicht manuell aber das ist mir egal) testbericht dazu welche junit gehen und welche nicht
    schaut obs bei euch auch so ist

    edit: https://www.logic.at/staff/kelvan/te...605-010201.xml

    Geändert von kelvan (05.06.2011 um 00:04 Uhr)

  5. #5
    Bei mir funktioniert nur der ValidationTest.

  6. #6

    kelvan Gast
    ich hab alles neu ausgecheckt und bekomme immer noch das ergebnis vom link oben, kA was der scheiß wieder soll.

  7. #7

    kelvan Gast
    flo hat das delete.sql durch was funktionierendes ersetzt
    danke für deine mühe (again)

  8. #8
    klappt immer noch nicht, weil wir jetzt komsiche andere Fehler in 28 Fällen bekommen. Ich bin gerade bisserl angefressen.

    Das ursprüngliche sql-file war schon mal kaputt: Da ging überhaput nichts, da die Orte noch in Abhängigkeit standen, als sie entfernt wurden. Jetzt läuft zumindest ein wenig.

    Obskur ist noch, dass die Testfälle klassenweise großteils durchlaufen. Erst, wenn man alle aufeinmal durchlaufen lassen will, gibt es Probleme. Die ursprüngliche Version mit dem delete.sql hat auch da immer Constraints verletzt. Die Klassen die nicht einzeln durchlaufen haben Probelme mit der Reihenfolge von persist, was ich so sehe.


    Vorallem verstehe ich nicht, wie so etwas passieren kann:
    Caused by: java.lang.IllegalArgumentException: Can not set java.lang.String field at.ticketline.entity.Kuenstler.biographie to at.ticketline.entity.Mitarbeiter


    Wie auch immer, ich hab eigentlich schon eine hohe Stundenanzahl und noch einen Usecase zum implementieren. Ich überlasse den Fix Anderen, mit einem höheren Zuständigkeitsgrad.

  9. #9
    Bei mir laufen jetzt alle Tests, auch wenn sie aufeinmal gestartet werden. Und sie laufen verdammt schnell.
    Drop Scripte ausführen ist nicht mehr notwendig, ich hab folgendes geändert:

    persistance.xml
    <!-- die memory datenbank wird jedes mal neu angelegt -->
    <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

    EntityManagerUtil.java
    closeCurrentEntityManager() ruft factory.close() auf und setzt sie anschließend auf null.

    TestInitializer.java
    EntityManagerUtil.init() wird vor jedem Test aufgerufen. Dabei wird die Datenbank neu angelegt.

    AbstractTest.java
    teardown() ruft EntityManagerUtil.closeCurrentEntityManager(); auf.

    Ich mach noch sauber und commits später dann.

    edit:
    gefrühstückt und committet.

    Geändert von nudelsalat (05.06.2011 um 08:57 Uhr)

  10. #10
    Alles grün bei mir.

  11. #11
    Zitat Zitat von nudelsalat Beitrag anzeigen
    Bei mir laufen jetzt alle Tests, auch wenn sie aufeinmal gestartet werden. Und sie laufen verdammt schnell.
    Drop Scripte ausführen ist nicht mehr notwendig, ich hab folgendes geändert:

    persistance.xml
    <!-- die memory datenbank wird jedes mal neu angelegt -->
    <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

    EntityManagerUtil.java
    closeCurrentEntityManager() ruft factory.close() auf und setzt sie anschließend auf null.

    TestInitializer.java
    EntityManagerUtil.init() wird vor jedem Test aufgerufen. Dabei wird die Datenbank neu angelegt.

    AbstractTest.java
    teardown() ruft EntityManagerUtil.closeCurrentEntityManager(); auf.

    Ich mach noch sauber und commits später dann.

    edit:
    gefrühstückt und committet.
    Super Sache. Ich habe gestern btw 15 min gebraucht, um DBUnit zu konfigurieren und einzubinden. Ich hatte blos keine Zeit die restlichen Testdaten in XML zu überführen. Wenn es jetzt klappt, dann lasse ich es natürlich so. Tests sind schließlich auf dieser Ebene nicht mein Aufgabenbereich, sondern nur meine Bürde, wegen der ich ganz viel (oder auch super-viel, wie manche Leute sagen) Freizeit verloren habe.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •