Testen von Modulen: Vereinfachte Testumgebung aufbauen

Hi :slight_smile:

beim Testen von neuen OXID Modulen stoße ich immer auf das Problem, dass das Testen meist sehr zeitaufwendig wird. Da ich erst immer den /tmp Ordner leeren muss, mich durch etliche Aktionen im OXID Admin und Frontend klicken muss bis ich zu meine ursprünglich zutestende Funktion komme… Dies ist auf Dauer sehr nervig :frowning:

Meine Idee ist es eine vereinfachte OXID Testumgebung zu schaffen.

[B]Aufgabe[/B]
Testen des Verhalten einer externen Schnittstelle zum OXID Shop.

[B]Ziel[/B]
Einfaches Testen der Rückgabe-Werte der Schnittstelle in unterschiedlichen Fällen.

[B]Vorgehensweise[/B]
Ich habe in meinen lokalen htdocs/ Verzeichnis einen Unterordner namens test/ hinzugefügt. Dort hinterlege ich die PHP Datei z.B. api.php, welche die Klasse der Schnittstelle / API enthält (die mir zur Verfügung gestellt wurde). Des Weiteren lege ich in den test Ordner meine PHP Datei mit der Klasse, welche auf die Schnittstelle zugreift z.B. meineklasse.php. Zusätzlich lege ich eine test.php Datei an, mit welcher ich die Methoden aus meiner Schnittstellen meineklasse.php aufrufe um diese zu testen.

[B]Problem[/B]
Grundfunktionalitäten des OXID Framework abbilden. Meine Klasse meineklasse.php extends die oxSuperCfg und diese kennt mein Test Verzeichnis natürlich nicht.

[B]Frage[/B]
Würde es ausreichen das core/ Verzeichnis in meinen test Ordner mit aufzunehmen? Jemand eine Idee?

Viele Grüße
indianer3c

Schau dir mal bin/cron.php an.

Guten Morgen Frank :slight_smile:

vielen lieben Dank!

Ich habe jetzt Lokal bei mir für das bin/ Verzeichnis den .htaccess Schutz aufgehoben und habe die cron.php wie folgt angepasst:


// executing maintenance tasks..
#oxNew( "oxmaintenance" )->execute();

// Test meineklasse.php
$oMeine Klasse = oxNew( "meineklasse" )->meineklasse(); // set API-Key
... mein Code zum Testen

Den oxmaintenance Klassenaufruf habe ich auskommentiert und darunter initialisiere ich meine Klasse. Dann kann ich die Methoden meiner Klasse wunderbar testen, indem ich die PHP-Datei cron.php über den Browser aufrufe.

Einfacher geht es nicht :slight_smile:

Viele Grüße aus Berlin
indianer3c