mit dem Mock-Ordner für Karma-Test in Yeoman Winkyjs

8

Ich habe eine angularjs Anwendung, die ich mit yeoman erzeugt habe. In der karma.conf.js ist ein Verweis auf test / mock / ** / *. Js. Ich habe Probleme herauszufinden, wie ich diesen Ordner benutze. Derzeit habe ich einen einfachen Service:

%Vor%

und ein Test

%Vor%

Das funktioniert. Aber ich frage mich, ob ich den Mock-Ordner aus der Karma.conf.js für die Mocking-Funktion verwenden könnte. Ist es möglich, das Mock-Teil in den Mock-Ordner zu verschieben und für alle Komponententests zu verwenden?

Ich konnte kein Beispiel oder Dokumentation für diesen Ordner finden. Kann mir bitte jemand auf ein Beispiel oder eine Dokumentation hinweisen, wie man den Mock-Ordner benutzt.

    
Someone561 07.09.2013, 14:55
quelle

2 Antworten

7

Im Grunde habe ich so etwas gemacht, wenn ich angle-mocks.js betrachte:
Nehmen wir an, die App heißt ql. und ich habe einen LoginService, den ich spotten möchte:

mocks / servicesMock.js sieht so aus:

%Vor%

Dann kann ich in meinen Tests $ loginServiceMock einchecken:

%Vor%     
gerasalus 12.11.2013 19:37
quelle
3

Das Beispiel von @gerasalus ist nützlich, aber um die Frage zu beantworten:

mocks ist nur ein Ordner, in den Sie Ihren Code einfügen können, um Ihr Projekt zu organisieren und den Code in Tests kurz und knapp zu halten. Indem Sie all Ihre Mocks an einem Ort aufbewahren, ist es einfacher, sie in Tests wiederzuverwenden. Das Kopieren von einem Test auf einen anderen wäre aus der Sicht von DRY eine schlechte Übung.

Sie könnten zum Beispiel einen Dienst namens "Foo"

haben %Vor%

Dann könntest du einen Mock dieses Dienstes namens 'FooMock' erstellen

%Vor%

Und dann würden Sie Tests erstellen und alle Mocks injizieren, die Sie brauchen, wie in der Antwort von gerasulus gezeigt wird.

    
Tom Carchrae 05.06.2015 15:36
quelle