Richtige Unit-Tests in WordPress


8

Für Unit-Tests in WordPress stehen verschiedene Threads zur Verfügung. In Bezug auf die in WordPress vorgenommenen Anpassungen sollte ein ordnungsgemäßer Komponententest durchgeführt werden.

Ich habe einige Plugins und Artikel darüber überprüft. Hier sind die wenigen.

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Jetzt können wir mit PHP Unit Testfälle nach Bedarf schreiben. Testfälle können für Kernfunktionen und Anpassungen geschrieben werden.

Was ist mit automatisierten Unit-Tests für Themen mit umfangreichen Plugins und Anpassungen, z. B. Mega-Menü, Visual Composer, Anpassung in Woo Commerce?

Wie kann das gemacht werden? Gibt es Standards für Unit-Tests für Websites, die mit Premium-Theme und Plugins mit hohem Anpassungsgrad entwickelt wurden?


Ich bin mir nicht sicher, was die Frage hier ist. Unit-Test ist Unit-Test. Warum sollte das Testen eines Codes anders sein, wenn er als Plugin verwendet wird?
Mark Kaplun

1
Wir versuchen, einen Standardausweg für den automatisierten Komponententest zu finden, der mit jeder Art von Entwicklung in Wordpress funktioniert. Egal was?
Trimantra Software Solution

Standard für was? phpunit ist das Standardwerkzeug, aber das wissen Sie. Jeder Einheitentest ist offensichtlich anders, basierend auf den Anforderungen der spezifischen Einheit
Mark Kaplun

Standard, um effizienten Code und Website mit Qualität zu schreiben.
Trimantra Software Solution

Unit-Tests werden verwendet, um Regressionen zu erkennen, wenn Code geändert wird. Sie haben tatsächlich keinen großen Vorteil bei einer "einmaligen" Site-Entwicklung, bei der sich nicht viel ändert, oder wenn sich etwas ändert, ist der gesamte Test so umfangreich wird brechen. Unit-Tests allein verbessern Ihren Code in keiner Weise. Um ihn zu verbessern, müssen Sie bessere Methoden für das Software-Design anwenden.
Mark Kaplun

Antworten:


8

Ich denke, dass das, wonach Sie suchen, technisch als Funktionstest , Integrationstest oder Abnahmetest bezeichnet wird . Es hört sich so an, als ob Sie das Verhalten des Frontends Ihrer Website (oder das Frontend-Verhalten eines Plugins oder Themas) testen möchten , nicht jede Einheit des Codes selbst. Sie können ein Tool wie PHPUnit verwenden, um Ihren PHP-Code zu testen, und ein Tool wie QUnit, um Ihren JS-Code zu testen. Sie benötigen jedoch ein anderes Tool, um das tatsächliche Verhalten der Website (oder der Plugin- / Theme-Funktion) als integriertes Ganzes zu testen .

Leider sind Akzeptanztests im WordPress-Bereich noch recht jung. Es gibt einige Plugins oder Themes, die dies tun, aber es gibt keine "Kern" -Methode (siehe jedoch Trac-Ticket Nr. 34693 ). Es gibt auch nicht unbedingt ein Konsens-Tool für bewährte Verfahren, das sich bisher herausgebildet hat. Was WordPress-spezifische Tools betrifft, ist dies ein Bereich, der noch erforscht wird. (Ich selbst fange gerade erst an, die Akzeptanzprüfung eines WordPress-Plugins zu untersuchen.)

Es gibt jedoch viele verschiedene Tools für Abnahmetests. Sie wurden nur nicht speziell für WordPress entwickelt. Und das ist in Ordnung. Denn wenn Sie das Front-End-Verhalten einer Site testen, spielt es keine Rolle, was das Back-End antreibt. Ein Tool, das Tests auf einer von Grund auf neu erstellten Site ausführen kann, funktioniert wahrscheinlich auch sehr gut für eine WordPress-Site oder eine andere Site.

Da WordPress in PHP geschrieben ist und PHPUnit zum Testen verwendet, ist Codeception eine natürliche Wahl. Es ist ein Framework, mit dem Sie Komponententests (mit PHPUnit), Funktionstests und Abnahmetests erstellen können, die Sie mit einem einzigen Befehl ausführen können. Ich denke, dass dies vielleicht genau das ist, wonach Sie suchen. In diesem Fall sollten Sie sich wahrscheinlich auch den WP-Browser ansehen, bei dem es sich um eine Reihe von WordPress-spezifischen Erweiterungen für Codeception handelt.

Wenn es ein neues Tool zum Testen der Akzeptanz von WordPress-Plugins gibt, würde ich sagen, dass es sich möglicherweise um Codeception handelt. Meines Wissens ist dies bei den meisten WordPress-Entwicklern noch eine junge Sache, daher müssen wir abwarten, was in Zukunft passiert. Zögern Sie nicht, einzuspringen und es trotzdem zu verwenden - vielleicht setzt es einen Trend!


Update 2017-12-12

Ich habe WP Browser zum Testen des WordPoints-Plugins verwendet und war damit zufrieden. Ich habe auch ein Repo eingerichtet, das zeigt, wie WP Browser-Abnahmetests auf Travis CI ausgeführt werden . Es gibt noch keinen De-facto-Standard im WordPress-Ökosystem, aber Codeception + WP Browser bleibt eine der bekanntesten Optionen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.