Plone3-Site - Tests ausführen

  • So,
    nun hab ich es auch geschafft und arbeite mich auf Plone3 ein. Meinen 1.Buildout + Plone3-Theme läuft. Jetzt wäre meine Frage:
    Wie starte ich jetzt die DocTests?

    Bisher (also nach alter Einbindung des Skins als Produkt) war es auf der Console

    Code
    ${INSTANCE}/bin/instance test -s Products.mySkin


    Nun ist mein Skin aber ein Package namens my.mySkin und es klappt keinerlei Aufruf der Tests.
    Wie müsste also der Aufruf heißen, dass meine Tests ausgeführt werden?

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Da hat Martin Aspeli (aka. optilude) in seinem Buch Professional Plone Development ein Paar Bemerkungen gemacht.

    Code
    Im {.buildout}  $ ./bin/instance test -s my.mySkin

    der Verweis auf Products ist nicht mehr nötig, hängt aber auch damit zusammen wie man das ganze eingebunden hat, als egg, dann Problemlos, wenn alte Zope2 Produkt dann der alte weg wie von dir beschrieben.


    Es hängt scheinbar stark davon ab wie man es einbindet.

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Nun - er gibt mir in diesem Fall 2 Zeilen aus

    Code
    Running tests at level 1
    Total: 0 tests, 0 failures, 0 errors


    ^^ das macht mich natürlich nicht wirklich glücklich.

    Die Files für die Tests sind praktisch die gleichen wie sie auch für die Produktvariante schon liefen.

    *nachdenk*

    "Carpe Diem" powered by positiv Feelings

  • Wie ist denn dein Produkt aufgebaut?

    Code
    my.mySkin
         browser
         profiles
         skins
         tests
              __init__.py
              base.py
              test_setup.py
              *

    ?

    Wenn ja, wie sehen die beiden Testhauptdateiein aus?

    Es kann ja einfach an der Registrierung der Tests liegen
    die Test benötigen ja zum schluss jeweis eine Instanziierung mit

    Code
    ztc.installPackage('my.mySkin')

    bzw. die TestCase Setups

    Viel Erfolg beim Testen

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Stimmt. Meine Angaben sind nicht sehr vollständig - Moment ...

    Struktur: (siehe Anghang)

    demnach lauten die Namen:
    package: plonetheme.ogmSkin
    skin : ogmSkin

    in der ogmSkin-configure.zcml steht somit auch drin

    Code
    <include package="plonetheme.ogmSkin" />

    Ok - die tests.py sieht so aus:

    Hmmmm .... seltsam.

  • Ok - ich hatte mir selbst noch Probleme onboard geholt, weil ich einen neuen Skin mit Dateien vom alten Skin versehen hatte. Deshalb startete mein Zope nicht mal - aber gut das ist nun fixed.

    Jedoch läuft der Test nicht durch.

    Den Skin kann ich im Quickinstaller installieren. Somit hab ich im Test nun 2 Möglichkeiten den SKin einzubinden:

    Code
    ztc.installPackage('plonetheme.ogmSkin')
    Code
    ptc.setupPloneSite(products=['ogmSkin'])


    Nur welcher von beiden ist Quatsch bzw. der Richtige?

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Wenn man das so betrachtet müsste beides fast richtig sein:

    Code
    ztc.installPackage('plonetheme.ogmSkin')

    Der andere hat meines Erachtens einen Logik/Names-Fehler:

    Code
    ptc.setupPloneSite(products=['ogmSkin'])


    da das products=['ogmSkin'] müsste eigentlich products=['plonetheme.ogmSkin'] heissen müsste.

    Dann sollte es hoffentlich arbeiten.

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Also der Quickinstaller (Quelltext) hat für meinen Skin das Value plonetheme.ogmSkin drinstehen. Deshalb sollte die Anweisung

    Code
    ptc.setupPloneSite(products=['plonetheme.ogmSkin'])


    den Skin installieren. Dies tut sie ja vielleicht auch. Jedoch erhalte ich weiterhin nur den 2-Zeiler "o tests," ...

    *such* *nachdenk* *haarerauf*

    "Carpe Diem" powered by positiv Feelings

  • hat sich mit der EGG Technik vielleicht auch die automatischen Dateinamen geändert?

    wenn deine Test-Datei tests.py heisst, und in den aktuellen Dokumenationen lese ich immer von base.py und test_setup.py

    kann es vielleicht daran liegen. Eine __init__.py hast du ja wohl. im Zweifelsfall mal die testy.py in der __init__.py direkt inbinden.

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Ja, der alte Weg war der, dass Zope die tests.py im Skin-Ordner findet und ausführt.
    Von deiner Aussage angeregt, habe ich mir mal ein Bsp.Package genommen und siehe da dort gibts im Ordner /tests die base._py und die eigentlichen Testdateien.

    Gut - das muss ich nun noch für mich ummünzen und dann schau ich mal ob's klappt.

    stay tuned

    "Carpe Diem" powered by positiv Feelings

  • Zitat von Pumukel

    , und in den aktuellen Dokumenationen lese ich


    Magst mir mal deine Links zum Thema Tests geben?

    Thx.
    Torty

    "Carpe Diem" powered by positiv Feelings

  • Wenn du mir dein Produkt schicken kannst / darfst, kann ich es ja mal probieren. Vielleicht fällt mir noch was ein, bin normal sehr gut im debuggen.

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Hallo Torty,
    ich glaube den fehler gefunden zu haben.

    irgendwie wird das tests Verzeichnis nicht ausgewertet.
    Sobald man aber in der configure.zcml im gurndverzeichnis ein:

    Code
    <include package=".tests" />


    probiers mal aus, auf Grund deiner Namenskonvetionen wirft er bei mir dann erstmal Fehler, ich habe leider kaum zeit tiefer drin rumzukramen im Moment.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller