Ergebnis 1 bis 11 von 11

Thema: Unittests

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    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)

  3. #3
    Alles grün bei mir.

  4. #4
    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
  •