Frage

Ich interessiere mich für Unit -Tests in Magento und habe angefangen, das ECOMDEV -Modul zu betrachten.

Ich glaube jedoch nicht, dass es möglich sein wird, mit Magento eine vollständige TDD zu machen. Wie würden Sie für die folgenden Szenarien TDD ausführen:

  1. Skripte im Allgemeinen verbessern
  2. Sehen Sie sich speziell auf Skripte hin
  3. System XML und Speichern Sie Konfigurationswerte
  4. Kernumschreiben
  5. Controller
  6. etc. etc. etc.

Ich denke, es gibt viele Szenarien, die Sie in Magento nicht ausführen können. Irre ich mich?

Wie nutzen andere Personen mit Magento andere Personen ein.

War es hilfreich?

Lösung

Das Testen ist in Magento aufgrund der Struktur und des "schlechten" Designs schwer. Verstehe mich nicht, das Design ist großartig - wenn du mich fragst, aber es war nicht für das Testen konzipiert. Singletons sind ein No-Go für Testable Code.

Das heißt, Sie können viele Dinge mit ecomdev_phpunit machen:

Skripte im Allgemeinen verbessern

Das Testen von Upgrade -Skripten, egal ob sie funktionieren oder nicht funktionieren, ist schwierig. (AFAIK) Die Skripte werden vor den Tests ausgeführt, sodass Sie die Ergebnisse testen können. Existiert ein Attribut oder wurde eine Tabelle erstellt? Sie können überprüfen, ob die Version Ihres Moduls korrekt ist und dass die Skripte existieren. Was Sie (meiner Meinung nach) nicht tun können, ist, die Logik im Skript zu überprüfen.

Sehen Sie sich speziell auf Skripte hin

Wie ich oben sagte, denke ich, dass dies einfach überprüfbar ist. Sie testen nur, ob die Dinge passieren oder nicht.

System XML und Speichern Sie Konfigurationswerte

Sie können nach Konfigurationswerten überprüfen. Und Sie können Controller -Tests schreiben, um die Ausgabe von Controllern zu überprüfen. Sie können also überprüfen, ob der Standardkonfigurationswert (oder der der Datenbank) korrekt ist, und Sie können überprüfen, ob die Einstellungen aus dem System.xml und den Formularfeldern wiederholt werden.

Kernumschreiben

Ich bin mir nicht sicher, was du hier meinst.

Hast du überprüft \EcomDev_PHPUnit_Test_Case_Config::assertModelAlias, assertBlockAlias, etc.? Du passierst core/encryption dazu und behaupten Sie die erwartete Klasse, z. B. Ikonoshirt_Pbkdf2_Model_Stub_CE. Wenn Ihr Umschreiben funktioniert, besteht der Test. Wenn Sie zwei konkurrierende Umschreibungen haben, schlägt einer der Tests fehl.

Controller

Sich ansehen \EcomDev_PHPUnit_Test_Case_Controller.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top