Ich möchte meine Play-Anwendung testen, indem ich Mock-Objekte während eines Tests zur Verfügung stelle. Von meinem Kopf aus gibt es ein paar Möglichkeiten, dies zu tun.
Ich bin mir nicht sicher, was machbarer ist oder wie man es macht. Jede Einsicht würde sehr geschätzt werden.
Es gibt einen dritten Weg; Erstellen Sie Ihren Controller als eine Klasse oder ein Merkmal zum Testen. Hier ist ein einfaches Beispiel.
Ihre Eigenschaft + Implementierung:
%Vor%In Ihrer Controller-Klasse:
%Vor%Jetzt können Sie einige Komponententests durchführen.
%Vor%Ich hatte die gleiche Frage und experimentierte einige Optionen:
Sie können den Code auf github hier sehen.
Meine Lösung ähnelt der von Blake, außer dass ich es ohne Controller als Klassen gemacht habe. Sie können die Quelle hier abrufen.
Als Referenz habe ich ein Beispiel für die Verwendung von Play's Plugin-Framework hinzugefügt, um mockige Objekte während des Tests zu injizieren.
Bei Verwendung dieser Methode kann zum Testzeitpunkt ein mockiges Plugin bereitgestellt werden:
%Vor% Das MockInjector
kann verwendet werden, um Controller-Objekte oder andere injizierbare Komponenten bereitzustellen.
Hinweis : Ich habe den Blogeintrag geschrieben, und jeder ist frei, alle Inhalte aus dem Blog hierher zu migrieren.
Tags und Links scala testing dependency-injection playframework playframework-2.0