{"id":53118,"date":"2022-08-09T14:04:15","date_gmt":"2022-08-09T13:04:15","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=53118&#038;preview=true&#038;preview_id=53118"},"modified":"2023-08-21T09:22:37","modified_gmt":"2023-08-21T08:22:37","slug":"php-test-tools","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/","title":{"rendered":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins"},"content":{"rendered":"<p>Keine Software ist frei von Fehlern. Das ist ein Grundsatz, der f\u00fcr <a href=\"https:\/\/kinsta.com\/de\/blog\/beste-programmiersprache-lernen-sollte\/\">jede Programmiersprache<\/a> und jede Anwendung gilt.<\/p>\n<p>Wenn diese Bugs in deiner Website in der Produktion eingesetzt werden, kann das mehr oder weniger schwerwiegende Folgen f\u00fcr dich haben. Hier sind einige Beispiele, die von l\u00e4stig bis wirtschaftlich sch\u00e4dlich reichen:<\/p>\n<ul>\n<li>Mild: Ein Nutzer kann nicht auf einen defekten Link klicken.<\/li>\n<li>Ernstzunehmend: Die Schaltfl\u00e4che &#8222;Abschicken&#8220; eines Kontaktformulars funktioniert nicht, was der\/die Nutzer\/in erst nach dem Verfassen seiner\/ihrer Nachricht feststellt.<\/li>\n<li>Schwerwiegend: Ein Zahlungsgateway ist nicht richtig konfiguriert, so dass die Nutzer\/innen keine Produkte in deinem E-Commerce-Shop kaufen k\u00f6nnen und die Seite verlassen.<\/li>\n<\/ul>\n<p><br \/>\nKein einziges Tool reicht aus, um alle Aspekte des Testens einer Anwendung aus allen m\u00f6glichen Blickwinkeln abzudecken. Denn neben dem Auffinden von Fehlern ist es wichtig, zus\u00e4tzliche Tests durchzuf\u00fchren, um andere Funktionen der Anwendung zu \u00fcberpr\u00fcfen, z. B:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/de\/blog\/barrierfrei-wordpress\/\">Zug\u00e4nglichkeit<\/a> und <a href=\"https:\/\/kinsta.com\/de\/blog\/testen-benutzerfreundlichkeit-websites\/\">Benutzerfreundlichkeit<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/de\/blog\/tools-fuer-performance-tests\/\">Annehmbare Leistung<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/de\/docs\/wordpress-hosting\/wordpress-referenz\/technische-faq\/\">Umgang mit Traffic und Last<\/a><\/li>\n<\/ul>\n<p>In diesem Artikel stellen wir 10 Tools vor, die von der Open-Source-Gemeinde entwickelt wurden und die beim Testen von <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-php\/\">PHP-Code<\/a> in WordPress-Plugins helfen k\u00f6nnen. Einige dieser Tools wurden speziell f\u00fcr das Testen von PHP-Code entwickelt, andere f\u00fcr das Testen von WordPress-Code und wieder andere f\u00fcr allgemeine Funktionen, die f\u00fcr das Testen n\u00fctzlich sind.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>1. DevKinsta<\/h2>\n<figure id=\"attachment_128442\" aria-describedby=\"caption-attachment-128442\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128442 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/devkinsta-1024x513.png\" alt=\"Details f\u00fcr eine lokale WordPress-Seite in DevKinsta\" width=\"1024\" height=\"513\"><figcaption id=\"caption-attachment-128442\" class=\"wp-caption-text\">Details f\u00fcr eine lokale WordPress-Seite in DevKinsta<\/figcaption><\/figure>\n<p><a href=\"https:\/\/kinsta.com\/de\/devkinsta\/\">DevKinsta<\/a> ist eine lokale Entwicklungssuite f\u00fcr WordPress-Websites. Durch die Angabe einiger grundlegender Daten wird sofort eine lokale Instanz einer WordPress-Site installiert, die mit verschiedenen n\u00fctzlichen Entwicklungstools wie einem E-Mail-Posteingang, einem Datenbankmanager und einer Protokollierung zur einfacheren Fehlerbehebung ausgestattet ist.<\/p>\n<p>DevKinsta wird normalerweise von Entwicklern und Designern f\u00fcr die Erstellung ihrer WordPress-Themes und Plugins verwendet. Es kann aber auch als lokaler Webserver f\u00fcr die Durchf\u00fchrung von Integrations- und Funktionstests verwendet werden. Dies geschieht in Verbindung mit einem HTTP-Tool, mit dem du \u00fcberpr\u00fcfen kannst, ob deine Antwortinhalte und Header korrekt sind.<\/p>\n<p>Die wichtigsten Funktionen von DevKinsta sind:<\/p>\n<ul>\n<li>Es ist einfach, eine neue WordPress-Umgebung einzurichten und sie zu l\u00f6schen, wenn sie nicht mehr ben\u00f6tigt wird<\/li>\n<li>Erm\u00f6glicht das Testen mit jeder <a href=\"https:\/\/kinsta.com\/de\/blog\/php-versionen\/\">unterst\u00fctzten Version von PHP<\/a> und WordPress und jeder Kombination davon<\/li>\n<li>Nahtlose Integration mit <a href=\"https:\/\/kinsta.com\/de\/mykinsta\/\">MyKinsta<\/a>, wo Nutzer <a href=\"https:\/\/kinsta.com\/docs\/devkinsta\/import-an-external-backup\/\">ein externes Backup ihrer Websites und Daten erstellen<\/a> k\u00f6nnen<\/li>\n<\/ul>\n<h2>2. PHPUnit<\/h2>\n<figure id=\"attachment_128446\" aria-describedby=\"caption-attachment-128446\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128446 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/phpunit-logo-1024x273.png\" alt=\"PHPUnit-Logo\" width=\"1024\" height=\"273\"><figcaption id=\"caption-attachment-128446\" class=\"wp-caption-text\">PHPUnit-Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPUnit<\/a> ist ein programmiererorientiertes Test-Framework f\u00fcr PHP. Es ist das beliebteste Framework f\u00fcr die Ausf\u00fchrung von Unit-Tests in PHP-Code, mit dem Ziel, einzelne Einheiten des Quellcodes zu validieren.<\/p>\n<p>PHPUnit-Tests erm\u00f6glichen es Entwicklern, Probleme so fr\u00fch wie m\u00f6glich im Entwicklungszyklus zu finden und sicherzustellen, dass es keine R\u00fcckschritte im Code gibt (d. h., dass \u00c4nderungen an einem Teil des Codes nicht zu Problemen an anderer Stelle gef\u00fchrt haben).<\/p>\n<p>Die wichtigsten Funktionen von PHPUnit sind:<\/p>\n<ul>\n<li>Neue Funktionstests<\/li>\n<li>Neu \u00fcberarbeitete Code-Validierung<\/li>\n<li>Kann vollst\u00e4ndig automatisiert und innerhalb des <a href=\"https:\/\/kinsta.com\/de\/blog\/devops-tools\/#2-continuous-integration-ci--continuous-delivery-cd\">Continuous Integration<\/a> Prozesses deiner Wahl ausgef\u00fchrt werden<\/li>\n<li>Fehlersuche<\/li>\n<li>Automatische Dokumentation der erwarteten Nutzung durch Funktionsaufrufe und Beschr\u00e4nkungen<\/li>\n<li>Erm\u00f6glicht den Ansatz des <a href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\" rel=\"noopener noreferrer\">Test-Driven Development<\/a> (TDD), bei dem die Entwickler zuerst die Tests und dann die Funktionalit\u00e4t erstellen<\/li>\n<\/ul>\n<h2>3. Brain Monkey<\/h2>\n<figure id=\"attachment_128441\" aria-describedby=\"caption-attachment-128441\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128441 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/brainmonkey-logo-1024x444.png\" alt=\"Brain Monkey Logo\" width=\"1024\" height=\"444\"><figcaption id=\"caption-attachment-128441\" class=\"wp-caption-text\">Brain Monkey Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainMonkey\/\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Monkey<\/a> ist ein Testprogramm f\u00fcr PHP und WordPress. Es bietet Framework-unabh\u00e4ngige Tools, mit denen du PHP-Methoden umdefinieren und das Verhalten jeder PHP-Anwendung testen kannst. Brain Monkey bietet auch spezielle Tools f\u00fcr das Testen von WordPress-Code.<\/p>\n<p>Die wichtigsten Funktionen von Brain Monkey sind:<\/p>\n<ul>\n<li>Erlaubt Unit-Tests die Interaktion mit externen, nicht geladenen Bibliotheken<\/li>\n<li>Erm\u00f6glicht den Aufruf von WordPress-Funktionen, ohne dass die WordPress-Umgebung geladen werden muss<\/li>\n<li>Kann sicherstellen, dass WordPress-Funktionen (wie z. B. <code>add_filter<\/code> oder <code>do_action<\/code>) die erwarteten Funktionen aufrufen<\/li>\n<\/ul>\n<h2>4. Brain Faker<\/h2>\n<figure id=\"attachment_128440\" aria-describedby=\"caption-attachment-128440\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128440 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/brainfaker-on-github-1024x515.png\" alt=\"Brain Faker auf GitHub\" width=\"1024\" height=\"515\"><figcaption id=\"caption-attachment-128440\" class=\"wp-caption-text\">Brain Faker auf GitHub<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainFaker\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Faker<\/a> nutzt <a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> (eine beliebte PHP-Bibliothek zur Generierung von gef\u00e4lschten Daten) und Brain Monkey, um auf einfache Weise gef\u00e4lschte WordPress-Objekte und zugeh\u00f6rige Funktionen zu erzeugen, die du ausprobieren kannst, darunter:<\/p>\n<ul>\n<li><code>WP_Post<\/code> instanzen und Mocks verwandter Funktionen wie <code>get_post<\/code> und <code>get_post_field<\/code><\/li>\n<li><code>WP_User<\/code> instanzen und Attrappen verwandter Funktionen wie <code>get_userdata<\/code>, <code>get_user_by<\/code>, <code>user_can<\/code>, und mehr<\/li>\n<li><code>WP_Term<\/code> instanzen und \u00e4hnliche Funktionen wie <code>get_term<\/code> und <code>get_term_by<\/code><\/li>\n<li><code>WP_Comment<\/code> instanzen<\/li>\n<li><code>WP_Site<\/code> instanzen, und Scheinfunktionen wie <code>get_site<\/code><\/li>\n<li><code>WP_Post_Type<\/code> instanzen, und Scheinfunktionen wie <code>get_post_type_object<\/code> und <code>post_type_exists<\/code><\/li>\n<li><code>WP_Taxonomy<\/code> instanzen, und Scheinfunktionen wie <code>get_taxonomy<\/code> und <code>taxonomy_exists<\/code><\/li>\n<li><code>WP_Error<\/code> instances<\/li>\n<\/ul>\n<p>Die wichtigsten Funktionen von Brain Faker sind:<\/p>\n<ul>\n<li>Injiziert gef\u00e4lschte, aber realistische WordPress-Daten in den Unit-Test &#8211; der Zugriff auf das \u00c4nderungsdatum eines gef\u00e4lschten Beitrags verh\u00e4lt sich wie ein Datum (z. B. <code>2022-04-17T13:06:58+00:00<\/code>), der Name eines Benutzers ist passend (z. B. <code>\"John Smith\"<\/code>), eine gef\u00e4lschte Beitragsinstanz wird von einer gef\u00e4lschten Benutzerinstanz verfasst, und so weiter<\/li>\n<li>Die gef\u00e4lschten Daten k\u00f6nnen vorab bereitgestellt oder zuf\u00e4llig generiert werden<\/li>\n<li>Erweiterbar &#8211; Entwickler k\u00f6nnen Klassen und Funktionen aus ihren eigenen WordPress-Plugins nachbilden<\/li>\n<\/ul>\n<h2>5. Mockery<\/h2>\n<figure id=\"attachment_128444\" aria-describedby=\"caption-attachment-128444\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128444 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/mockery-on-github-1024x700.png\" alt=\"Mockery auf GitHub\" width=\"1024\" height=\"700\"><figcaption id=\"caption-attachment-128444\" class=\"wp-caption-text\">Mockery auf GitHub<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/mockery\/mockery\" target=\"_blank\" rel=\"noopener noreferrer\">Mockery<\/a> ist ein einfaches, aber flexibles PHP-Mock-Objekt-Framework, das zusammen mit PHPUnit, <a href=\"https:\/\/www.phpspec.net\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPSpec<\/a> oder einem anderen Unit-Testing-Framework verwendet werden kann. Es bietet ein Test-Double-Framework, das alle m\u00f6glichen Objektoperationen und Interaktionen in einer f\u00fcr Menschen lesbaren <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain-specific_language\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Specific Language<\/a> (DSL) definiert.<\/p>\n<p>Die wichtigsten Funktionen von Mockery sind:<\/p>\n<ul>\n<li>Erm\u00f6glicht die flexible Erzeugung von Mock-Objekten und Stubs (die vordefinierte Antworten auf bestimmte Aufrufe w\u00e4hrend der Tests liefern)<\/li>\n<li>Verbessert die F\u00e4higkeiten von PHPUnit zur Testisolierung<\/li>\n<li>Flexible API zum Ausdr\u00fccken von Mocking-Erwartungen, die so weit wie m\u00f6glich eine nat\u00fcrliche Sprachenbeschreibung nachahmt (z. B. <code>$mock-&gt;shouldReceive('myMethod')-&gt;once()-&gt;andReturn('Hello world!');<\/code>)<\/li>\n<li>Unit-Tests mit In-Memory-Mock-Objekten, um den Zugriff auf langsamere Systeme (wie Datenbanken, Dateisysteme oder externe Dienste) zu vermeiden<\/li>\n<li>Kann sowohl deterministisches als auch nicht-deterministisches Verhalten simulieren<\/li>\n<\/ul>\n<h2>6. WordPress Native Export Tool<\/h2>\n<figure id=\"attachment_128447\" aria-describedby=\"caption-attachment-128447\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128447 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/wordpress-export-tool-1024x541.png\" alt=\"Das WordPress Export Tool\" width=\"1024\" height=\"541\"><figcaption id=\"caption-attachment-128447\" class=\"wp-caption-text\">Das WordPress Export Tool<\/figcaption><\/figure>\n<p><a href=\"https:\/\/wordpress.org\/support\/article\/tools-export-screen\/\" target=\"_blank\" rel=\"noopener noreferrer\">Das WordPress Native Export Tool<\/a> l\u00e4dt die WordPress-Daten der Website als XML-Datei auf dein Ger\u00e4t herunter, einschlie\u00dflich der Beitr\u00e4ge, Seiten, benutzerdefinierten Beitragstypen, Kommentare, benutzerdefinierten Felder, Kategorien, Tags, benutzerdefinierten Taxonomien, Benutzer und Medien. Die XML-Datei hat ein eigenes Format (WordPress eXtended RSS oder WXR-Datei genannt), das in jede WordPress-Website importiert werden kann.<\/p>\n<p>Dieses Tool ist nicht speziell zum Testen gedacht. Seine N\u00fctzlichkeit ergibt sich jedoch aus der M\u00f6glichkeit, Snapshots der WordPress-Datenbank mit einem geeigneten Datensatz zu erstellen, die dann f\u00fcr Tests verwendet werden k\u00f6nnen. Das bedeutet, dass die WordPress-Website in der Produktion, die echte Daten enth\u00e4lt, exportiert und in eine <a href=\"https:\/\/kinsta.com\/de\/docs\/wordpress-hosting\/staging-umgebung\/\">Entwicklungs- oder Staging-Instanz<\/a> importiert werden kann, um neue Funktionen zu testen.<\/p>\n<p>Die wichtigsten Funktionen des WordPress Export Tools sind:<\/p>\n<ul>\n<li>Erstellung von Testdaten mit einer echten WordPress-Website<\/li>\n<li>Austauschbare Exportdatei der gesamten Datenbank<\/li>\n<li>N\u00fctzlich sowohl f\u00fcr Integrations- als auch f\u00fcr Unit-Tests<\/li>\n<\/ul>\n<h2>7. Guzzle<\/h2>\n<figure id=\"attachment_128443\" aria-describedby=\"caption-attachment-128443\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128443 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/guzzle-logo-1024x277.png\" alt=\"Guzzle-Logo\" width=\"1024\" height=\"277\"><figcaption id=\"caption-attachment-128443\" class=\"wp-caption-text\">Guzzle-Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">Guzzle<\/a> ist ein PHP-HTTP-Client, der das Senden von HTTP-Anfragen und die Integration von Webdiensten erleichtert.<\/p>\n<p>Guzzle ist ein generisches Tool, so dass das Testen nur einer der m\u00f6glichen Anwendungsf\u00e4lle ist. Zusammen mit einem lokalen Webserver <a href=\"https:\/\/kinsta.com\/de\/devkinsta\/funktionen\/\">wie DevKinsta<\/a> erm\u00f6glicht Guzzle die Durchf\u00fchrung von Integrationstests: Du kannst mit Guzzle eine HTTP-Anfrage an den Entwicklungs-Webserver senden und dann die Antwort an einen Unit-Test in PHPUnit weiterleiten, der \u00fcberpr\u00fcft, ob der Inhalt und die Header wie erwartet gesetzt sind.<\/p>\n<p>Die wichtigsten Funktionen von Guzzle sind:<\/p>\n<ul>\n<li>Erf\u00fcllt die <a href=\"https:\/\/www.php-fig.org\/psr\/psr-7\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP-Standard-Empfehlung &#8222;PSR-7&#8220;<\/a> (f\u00fcr HTTP-Nachrichtenschnittstellen) und verhindert so die Abh\u00e4ngigkeit von einem bestimmten Anbieter<\/li>\n<li>Einfach und schnell<\/li>\n<li>Die Tests werden gegen eine echte WordPress-Website ausgef\u00fchrt, was die Zuverl\u00e4ssigkeit erh\u00f6ht<\/li>\n<li>Einfache und schnelle Ausf\u00fchrung aus PHPUnit heraus<\/li>\n<li>Integrationstests k\u00f6nnen automatisiert und in den kontinuierlichen Integrationsprozess integriert werden<\/li>\n<\/ul>\n<h2>8. WP-CLI<\/h2>\n<figure id=\"attachment_128448\" aria-describedby=\"caption-attachment-128448\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128448 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/wp-cli-logo-1024x451.png\" alt=\"WP-CLI Logo\" width=\"1024\" height=\"451\"><figcaption id=\"caption-attachment-128448\" class=\"wp-caption-text\">WP-CLI Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/wp-cli.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP-CLI<\/a> ist die Kommandozeilenschnittstelle f\u00fcr WordPress. Mit ihr kannst du Plugins aktualisieren, Multisite-Installationen konfigurieren und vieles mehr, ohne einen <a href=\"https:\/\/kinsta.com\/de\/blog\/sechs-sichersten-browser\/\">Webbrowser<\/a> zu benutzen.<\/p>\n<p>WP-CLI ist kein spezielles Testtool, aber Tests geh\u00f6ren zu seinen vielen Anwendungsf\u00e4llen. Nachdem du zum Beispiel einen neuen Entwicklungs-Webserver eingerichtet hast, kannst du ein Bash-Skript mit WP-CLI-Befehlen ausf\u00fchren, um Testdaten in die WordPress-Website zu importieren, Benutzer mit den entsprechenden Rollen und F\u00e4higkeiten anzulegen, ben\u00f6tigte Plugins von Drittanbietern zu installieren und andere Aufgaben zu erledigen.<\/p>\n<p>Da das Skript mit den WP-CLI-Befehlen in deinem <a href=\"https:\/\/kinsta.com\/de\/blog\/git-fuer-die-webentwicklung\/\">Git-Repository<\/a> gespeichert werden kann, l\u00e4sst sich der Prozess zur Ausf\u00fchrung der Integrationstests automatisieren und in deinen Continuous Integration-Prozess integrieren:<\/p>\n<ol start=\"1\">\n<li>Nutze das WordPress Export Tool, um echte Testdaten zu erzeugen und sie im Git-Repository zu speichern.<\/li>\n<li>Verwende DevKinsta, um einen Webserver mit einer neuen WordPress-Instanz zu starten.<\/li>\n<li>Verwende WP-CLI, um die Testdaten in die WordPress-Site zu importieren (DevKinsta <a href=\"https:\/\/www.smashingmagazine.com\/2021\/06\/multiple-wordpress-sites-locally-devkinsta\/#using-wp-cli\" target=\"_blank\" rel=\"noopener noreferrer\">kann \u00fcber WP-CLI bedient<\/a> werden).<\/li>\n<li>Erstelle einen Unit-Test in PHPUnit, bei dem Guzzle eine HTTP-Anfrage an den Webserver ausf\u00fchrt, um den Inhalt und die Header deiner Antwort zu \u00fcberpr\u00fcfen.<\/li>\n<\/ol>\n<p>Die wichtigsten Funktionen von WP-CLI sind:<\/p>\n<ul>\n<li>Erm\u00f6glicht die Remote-Ausf\u00fchrung von Befehlen gegen die WordPress-Instanz \u00fcber eine Befehlszeilenschnittstelle<\/li>\n<li>Erweiterbar mit anderen Tools<\/li>\n<li>Erweitert die M\u00f6glichkeiten des Testing Stacks<\/li>\n<li>Erm\u00f6glicht die vollst\u00e4ndige Automatisierung des Prozesses<\/li>\n<\/ul>\n<h2>9. XDebug<\/h2>\n<figure id=\"attachment_128449\" aria-describedby=\"caption-attachment-128449\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128449 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/xdebug-logo-1024x396.png\" alt=\"XDebug Logo\" width=\"1024\" height=\"396\"><figcaption id=\"caption-attachment-128449\" class=\"wp-caption-text\">XDebug Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">XDebug<\/a> ist eine Erweiterung f\u00fcr PHP, die eine Reihe von Funktionen bietet, um die PHP-Entwicklung zu verbessern. Dazu geh\u00f6ren Debugging, Verbesserungen der PHP-Fehlerberichte, Tracing, Profiling und Code Coverage-Analyse.<\/p>\n<p>XDebug hilft dir nicht beim Testen deines Codes, sondern dabei, herauszufinden, wo der Fehler liegt. Die Kombination von XDebug mit PHPUnit ist besonders effektiv: Wenn ein Test fehlschl\u00e4gt und du die Ursache des Problems nicht finden kannst, kannst du mit XDebug Haltepunkte in den Code des Unit-Tests einf\u00fcgen. Wenn du den Unit-Test erneut ausf\u00fchrst, wird das PHP-Skript an jedem dieser Haltepunkte angehalten. So kannst du den aktuellen Status der Ausf\u00fchrung (Aufrufstapel, Eigenschafts- und Objektwerte usw.) \u00fcberpr\u00fcfen und versuchen, den Fehler zu finden.<\/p>\n<p>Die wichtigsten Funktionen von XDebug sind:<\/p>\n<ul>\n<li>Bietet Integrationen f\u00fcr g\u00e4ngige <a href=\"https:\/\/kinsta.com\/de\/blog\/php-editor\/\">PHP-Editoren<\/a> wie VS Code, PHPStorm und Sublime<\/li>\n<li>Zeichnet auf, wie viel Zeit f\u00fcr jeden Funktionsaufruf aufgewendet wird und wie viel Speicher er verbraucht<\/li>\n<li>Viel leistungsf\u00e4higer als die einfache Verwendung von <code>var_dump<\/code> zum Debuggen von Code<\/li>\n<li>Erm\u00f6glicht die \u00c4nderung von Variablenwerten w\u00e4hrend des Anhaltens an Breakpoints<\/li>\n<\/ul>\n<h2>10. PHPStan<\/h2>\n<figure id=\"attachment_128445\" aria-describedby=\"caption-attachment-128445\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128445 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/phpstan-logo-1024x352.png\" alt=\"PHPStan-Logo\" width=\"1024\" height=\"352\"><figcaption id=\"caption-attachment-128445\" class=\"wp-caption-text\">PHPStan-Logo<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpstan.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPStan<\/a> ist ein statisches Analysewerkzeug f\u00fcr PHP, mit dem man Fehler im Code finden kann, noch bevor man Tests schreibt.<\/p>\n<p>Das Ziel von PHPStan ist es, die Anzahl der Tests zu reduzieren, die Entwickler schreiben m\u00fcssen. Dieses Tool wird als erstes im Teststapel ausgef\u00fchrt und f\u00e4ngt so viele Fehler wie m\u00f6glich ab. Nur die Fehler, die sich nicht aus der statischen Analyse ableiten lassen (z. B. solche mit fehlerhafter Logik), m\u00fcssen durch Unit-Tests \u00fcberpr\u00fcft werden.<\/p>\n<p>PHPStan scannt die gesamte Codebasis und sucht nach Unstimmigkeiten. Zum Beispiel kann der R\u00fcckgabewert einer Funktion, die einen Float zur\u00fcckgibt, nicht einem Funktionsparameter vom Typ Integer zugewiesen werden. Wenn der Code ein solches Vorkommnis enth\u00e4lt, ist das ein potenzieller Fehler, und PHPStan wird dich w\u00e4hrend der Entwicklungsphase darauf aufmerksam machen, noch w\u00e4hrend du den Anwendungscode schreibst.<\/p>\n<p>Die wichtigsten Funktionen von PHPStan sind:<\/p>\n<ul>\n<li>Automatisierung und Integration in deinen bestehenden Continuous Integration Prozess<\/li>\n<li>Findet viele knifflige Fehler, wie z.B. Type Mismatches<\/li>\n<li>Scannt die gesamte Codebasis und findet Fehler in selten ausgef\u00fchrten Teilen des Codes<\/li>\n<li>Organisiert in Stufen steigender Komplexit\u00e4t, um eine schrittweise Integration zu erm\u00f6glichen<\/li>\n<li>Bietet Erweiterungen f\u00fcr die <a href=\"https:\/\/kinsta.com\/de\/blog\/php-frameworks\/\">beliebtesten PHP-Frameworks<\/a> und CMS, darunter Symfony, <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-laravel\/\">Laravel<\/a>, Doctrine, Nette und WordPress<\/li>\n<\/ul>\n<h2>Zusammenfassung<\/h2>\n<p>Die Kosten, die entstehen, wenn sich Bugs unbemerkt in deine Anwendung einschleichen, k\u00f6nnen deinem Ruf und deinem Einkommen <a href=\"https:\/\/kinsta.com\/de\/blog\/domain-reputation\/\">schaden<\/a>. Deshalb musst du versuchen, sie auszumerzen, bevor sie deine Nutzer\/innen beeintr\u00e4chtigen.<br \/>\n<br \/>\nBei komplexen Anwendungen ist es fast unm\u00f6glich, zu 100 % sicher zu sein, dass sie keine Fehler enthalten. Deshalb musst du einen Prozess einrichten, um so viele Fehler wie m\u00f6glich w\u00e4hrend des ersten Entwicklungszyklus zu finden und zu beseitigen.<\/p>\n<p>Mit einem gut durchdachten Test-Toolkit kannst du die Wahrscheinlichkeit, dass sich deine Anwendung unerwartet verh\u00e4lt, erheblich verringern. Die Open-Source-Gemeinschaft hat eine Vielzahl von Tools zum Testen der verschiedenen Aspekte einer Anwendung entwickelt und zur Verf\u00fcgung gestellt, die du nutzen kannst &#8211; und solltest! -, um ein umfassendes Testpaket zu erstellen.<\/p>\n<p>In diesem Artikel stellen wir dir 10 Tools vor, mit denen du deine Ziele beim Testen von PHP-Code in einem <a href=\"https:\/\/kinsta.com\/de\/thema\/wordpress-plugins\/\">WordPress-Plugin<\/a> erreichen kannst.<\/p>\n<p>Welches dieser Tools hast du f\u00fcr dein letztes Projekt verwendet? Lass uns in den Kommentaren wissen, was du damit gebaut hast!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Keine Software ist frei von Fehlern. Das ist ein Grundsatz, der f\u00fcr jede Programmiersprache und jede Anwendung gilt. Wenn diese Bugs in deiner Website in der &#8230;<\/p>\n","protected":false},"author":196,"featured_media":53119,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[361,38,791,475,157],"topic":[936,969,991],"class_list":["post-53118","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-code","tag-php","tag-testing","tag-web-development-tools","tag-wordpress-plugins","topic-devkinsta","topic-php-frameworks","topic-web-entwicklungs-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>10 PHP-Test-Tools f\u00fcr WordPress-Plugins<\/title>\n<meta name=\"description\" content=\"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 PHP-Test-Tools f\u00fcr WordPress-Plugins\" \/>\n<meta property=\"og:description\" content=\"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-09T13:04:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-21T08:22:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Leonardo Losoviz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@losoviz\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leonardo Losoviz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\"},\"author\":{\"name\":\"Leonardo Losoviz\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\"},\"headline\":\"10 PHP-Test-Tools f\u00fcr WordPress-Plugins\",\"datePublished\":\"2022-08-09T13:04:15+00:00\",\"dateModified\":\"2023-08-21T08:22:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\"},\"wordCount\":2117,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\",\"keywords\":[\"code\",\"php\",\"testing\",\"web development tools\",\"wordpress plugins\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\",\"name\":\"10 PHP-Test-Tools f\u00fcr WordPress-Plugins\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\",\"datePublished\":\"2022-08-09T13:04:15+00:00\",\"dateModified\":\"2023-08-21T08:22:37+00:00\",\"description\":\"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg\",\"width\":1460,\"height\":730,\"caption\":\"10 PHP-Test-Tools f\u00fcr WordPress-Plugins\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webentwicklungs-Tools\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/web-entwicklungs-tools\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"10 PHP-Test-Tools f\u00fcr WordPress-Plugins\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\",\"name\":\"Leonardo Losoviz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g\",\"caption\":\"Leonardo Losoviz\"},\"description\":\"Leo writes about innovative web development trends, mostly concerning PHP, WordPress and GraphQL. You can find him at leoloso.com and twitter.com\/losoviz.\",\"sameAs\":[\"https:\/\/leoloso.com\",\"https:\/\/x.com\/losoviz\",\"https:\/\/www.youtube.com\/@GatoGraphQL\"],\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/leonardolosoviz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins","description":"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/","og_locale":"de_DE","og_type":"article","og_title":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins","og_description":"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.","og_url":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2022-08-09T13:04:15+00:00","article_modified_time":"2023-08-21T08:22:37+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","type":"image\/jpeg"}],"author":"Leonardo Losoviz","twitter_card":"summary_large_image","twitter_description":"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","twitter_creator":"@losoviz","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Leonardo Losoviz","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/"},"author":{"name":"Leonardo Losoviz","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238"},"headline":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins","datePublished":"2022-08-09T13:04:15+00:00","dateModified":"2023-08-21T08:22:37+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/"},"wordCount":2117,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","keywords":["code","php","testing","web development tools","wordpress plugins"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/","url":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/","name":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","datePublished":"2022-08-09T13:04:15+00:00","dateModified":"2023-08-21T08:22:37+00:00","description":"Wir haben 10 der beliebtesten Open-Source-PHP-Test-Tools zusammengestellt, mit denen du deine WordPress-Plugins testen kannst.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/php-test-tools\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/08\/php-testing-tools.jpg","width":1460,"height":730,"caption":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/php-test-tools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"Webentwicklungs-Tools","item":"https:\/\/kinsta.com\/de\/thema\/web-entwicklungs-tools\/"},{"@type":"ListItem","position":3,"name":"10 PHP-Test-Tools f\u00fcr WordPress-Plugins"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238","name":"Leonardo Losoviz","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g","caption":"Leonardo Losoviz"},"description":"Leo writes about innovative web development trends, mostly concerning PHP, WordPress and GraphQL. You can find him at leoloso.com and twitter.com\/losoviz.","sameAs":["https:\/\/leoloso.com","https:\/\/x.com\/losoviz","https:\/\/www.youtube.com\/@GatoGraphQL"],"url":"https:\/\/kinsta.com\/de\/blog\/author\/leonardolosoviz\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/53118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/196"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=53118"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/53118\/revisions"}],"predecessor-version":[{"id":56245,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/53118\/revisions\/56245"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/translations\/jp"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/53118\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/53119"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=53118"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=53118"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=53118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}