2014-07-09 6 views
5

Mein Team und ich arbeiten an einer Webanwendung, die ziemlich viele Angular-Codes und Jasmin-Tests enthält. Wir verwenden Visual Studio und ReSharper Jasmine Test Runner. Aus Gründen des Reshaper unserer JS Test-Dateien haben alle Verweise Pfade Setup an der Spitze wie soReferenzpfade in ReSharper-JavaScript-Tests teilen

/// <reference path="/path/to/somefile.js" /> 

haben wir eine Menge dieser Referenzen. Für jede neue Testdatei müssen wir diese Referenzen hinzufügen. Wenn wir eine neue Komponente oder eine externe Bibliothek haben, müssen wir eine weitere Referenz zu fast allen unserer vorhandenen Testdateien hinzufügen. Dies gilt insbesondere für die Aufnahme von externen Winkelmodulen.

Gibt es eine Möglichkeit, eine gemeinsame Referenzdatei für die js-Tests in ReSharper zu erstellen? Dies wird wirklich ein Kern, wenn Ihre Lösung Tonnen von kleineren Dateien enthält

Antwort

4

Ja, Sie können nur eine Referenzdatei mit allen anderen Referenzen darin erstellen. Und dann müssen Sie diese Referenzdatei nur in Ihre js-Testdateien einfügen.

Im js Testdatei (spec) Sie enthalten nur das:

/// <reference path="defaultReferences.js" /> 

Und in den defaultReferences.js Datei alles, was Sie fügen Sie die Referenzen benötigen Sie:

/// <reference path="../../App/lib/jquery/jquery-2.1.0.js" /> 
/// <reference path="../../App/lib/jquery/jquery.cookie.js" /> 
/// <reference path="../../App/lib/angular-1.3.0-beta.3/angular.js" /> 

Nur dann haben Sie zum Hinzufügen einer neuen Referenzdatei in den StandardReferenzen anstelle von

Aktualisieren

Nach @sarin ‚s Frage unten, werde ich versuchen, wie meine Ordnerstruktur zu erklären, in meinem Projekt wie folgt aussieht: (Ich habe auch ReSharper 8.2 und Jasmin 2.0)

.. [WebApp]
.. .. [lib]
...... [Winkel]
...... references.js
.... [js]
...... [Konto]
. ....... accountController.js
...... [basket]
........ basketService.js
.... [Tests]
...... [Helfer]
...... [spec]
........ [account]
..... ..... accountControllerSpec.js
........ [legen]
.......... basketServiceSpec.js

Da ist in meinem basketSerivceSpec.js, dann Referenzen sieht wie folgt aus:

/// <reference path="../../../lib/references.js" /> /// <reference path="../../../js/basket/basketService.js" />

Also, wenn Sie experie sind Wenn der Nachschärfer nicht ausgeführt wird, wird der Test nicht ausgeführt. Sehen Sie sich dann die Referenzen an.

+0

Danke. Ich werde es ausprobieren und Sie wissen lassen, wie es geht – cecilphillip

+0

es scheint nur für mich arbeiten, wenn die Datei references.js im selben Verzeichnis wie alle Jasmin-Tests ist. Dies bedeutet, dass ich die Tests nicht in einer Verzeichnisstruktur strukturieren kann ... unordentliche Struktur oder unordentliche Tests ... Seufzer .. Resharper 8.2/Jamsine 2 – sarin

+0

Warum können Sie die Datei references.js nicht anderswo als neben Ihren Tests speichern? Sehen Sie sich die aktualisierte Antwort an, um zu sehen, wie meine Verzeichnisstruktur ist. –