Rückruf von Hooks testen
-
-
Wenn Sie "phpunit" ausführen,können Siefehlgeschlagene oderbestandene Tests sehen?Haben Sie `bin/install-wp-tests.sh`installiert?If you're running `phpunit`, can you see failed or passed tests? Did you install `bin/install-wp-tests.sh`?
- 0
- 2014-10-11
- Sven
-
Ich denke,dassein Teil des Problems darinbesteht,dass "RegisterCustomPostType :: __ construct ()"möglicherweisenie aufgerufen wird,wenn das Pluginfür die Testsgeladen wird.Esist auchmöglich,dass Sie von [Fehler # 29827]betroffen sind (https://core.trac.wordpress.org/ticket/29827#comment:7);Versuchen Siemöglicherweise,Ihre Version der Unit-Test-Suite von WP zu aktualisieren.I think that part of the problem is that maybe `RegisterCustomPostType::__construct()` is never called when the plugin is loaded for the tests. It's also possible you are being affected by [bug #29827](https://core.trac.wordpress.org/ticket/29827#comment:7); maybe try updating your version of WP's unit test suite.
- 0
- 2014-10-11
- J.D.
-
@Sven: Ja,Tests schlagenfehl.Ich habe `bin/install-wp-tests.sh`installiert (daich wp-cli verwendet habe) @ J.D.: RegisterCustomPostType :: __ Konstrukt _ist_ aufgerufen (habegeradeeine `die ()` Anweisung hinzugefügt undphpunit stoppt dort)@Sven: yes, tests are failing; i installed `bin/install-wp-tests.sh` (since i used wp-cli) @J.D.: RegisterCustomPostType::__construct _is_ called (just added a `die()` statement and phpunit stops there)
- 0
- 2014-10-11
- Ionut Staicu
-
Ichbin mir auf der Seite der Komponententestsnicht sicher (nichtmeine Stärke),aber aus wörtlicher Sicht können Sie [`did_action ()`] (http://queryposts.com/function/did_action/) verwenden,um zu überprüfen,ob Aktionen durchgeführt wurdengefeuert.I am not too sure on unit testing side (not my forte), but from literal point of view you can use [`did_action()`](http://queryposts.com/function/did_action/) to check if actions had fired.
- 0
- 2014-10-11
- Rarst
-
@Rarst: Dankefür den Vorschlag,aberesfunktioniertimmernochnicht.Ausirgendeinem Grund denkeich,dass das Timingfalschist (Tests werden vor dem Init-Hook ausgeführt).@Rarst: thanks for the suggestion, but it still doesn't work. For some reason, i think that the timing is wrong (tests are ran before `init` hook).
- 0
- 2014-10-11
- Ionut Staicu
-
0 Antworten
- Stimmen
Ichentwickleein Pluginmit TDD undeine Sache,dieichnichttesten kann,sind ... Hooks.
Ichmeine OK,ich kann den Hook-Rückruftesten,aber wie kannichtesten,obein Hooktatsächlich ausgelöst wird (sowohlbenutzerdefinierte Hooks als auch WordPress-Standard-Hooks)? Ichgehe davon aus,dassein bisschen Spott helfen wird,aberich kanneinfachnicht herausfinden,wasmirfehlt.
Ich habe die Testsuitemit WP-CLIinstalliert. Laut dieser Antwort ,
init
Hook sollte ausgelöst werden,aber ...nicht; Der Codefunktioniert auchin WordPress.Nachmeinem Verständnis wird der Bootstrap zuletztgeladen,daheristes sinnvoll,init nicht auszulösen. Die verbleibende Frage lautet also: Wie zum Teufel sollteichtesten,ob Hooks ausgelöst werden?
Danke!
Die Bootstrap-Datei siehtfolgendermaßen aus:
Diegetestete Datei siehtfolgendermaßen aus:
Und der Test selbst:
Danke!