21

È pratico/è possibile separare i test del gelsomino in un progetto di studio visivo separato?Jasmine in un progetto di prova separato

Sono appena iniziato con angolare e sto cercando di scrivere i miei test prima di iniziare l'implementazione angolare reale. Scriverò il mio progetto in Visual Studio 2012 con il test runner Chutzpah, vedere questo video. Attualmente sto cercando di capire come organizzare la mia struttura di cartelle. Conosco semi angolari e yeoman, ma quelli non sono adatti per avviare un progetto .net.

Suppongo che dal momento che i test unitari in Visual Studio sono normalmente separati in un progetto di test separato, per convenzione, anche i test al gelsomino.

Tuttavia, per lo script java, non ci sono dll di progetto a cui fare riferimento, quindi separare i test in un progetto diverso richiederebbe molto copia e incolla, penso.

risposta

18

È possibile eseguire questa operazione senza copia/incolla. Nei tuoi test di Jasmine puoi aggiungere un commento /// <reference che invia ai tuoi file sorgente (o alla directory che li contiene). Per esempio dato questo sturcture

/Projecta/scripts

code1.js 
code2.js 

/TestProjectB test1.js

È possibile aggiungere questa riga nella parte superiore del file test1.js per fare riferimento a tutti i tuoi file di codice:

//// <reference path="../scripts" /> 
+7

come supplemento, invece di preoccuparsi di quanti ../ aggiungere, basta trascinare il file sorgente nell'area di lavoro e il percorso di riferimento verrà aggiunto automaticamente. –

+0

Ciao @Matthew Manela, non sono in grado di riferire 'code.js' dal progetto' spec'. Ho una soluzione con due progetti. a ** Progetto ** e a ** SpecProject **. Quando eseguo la soluzione. entrambi i progetti sono in esecuzione in una porta separata come applicazioni diverse. E non sono in grado di riferire il codice.js. Mi aiuti per favore. –

+0

Quando provo a fare riferimento a una directory come nella risposta sopra, visual studio si lamenta che sono consentiti solo file con estensione .ts. Tuttavia, quando faccio esplicitamente riferimento al.ts dal progetto principale, inizio a ottenere errori di compilazione TS dappertutto nel file TS a cui si fa riferimento –

-2

Pensa che dovresti usare la struttura predefinita delle cartelle come consigliato da jasmine

ecco una struttura predefinita link proiezione di jasmine

+2

hmm .. quella struttura di cartelle vuole la specifica lib e la cartella src più importante allo stesso livello .. su progetti più grandi, dove i test sono solitamente separati da src, che può essere un po 'di confusione per i tester oi diversi membri del team. –

1

test di unità Tradizionalmente, sono sempre mantenuti in gruppi separati.

Ho letto entrambi i lati dell'argomento e preferisco non spedire codice che non è codice di produzione, o di avere passaggi di implementazione aggiuntivi per rimuovere i test dal codice di produzione.

Per fare riferimento a javascript nel mio assieme Web.Client.Tests, ad esempio, utilizzo un evento post-build per copiare i file nel progetto di test. Per questo io uso robocopy - sembra qualcosa di simile:

 
robocopy "$(ProjectDir)app" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\app" /E /COPY:D /IS 

robocopy "$(ProjectDir)Scripts" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\Scripts" /E /COPY:D /IS 

if errorlevel 1 GOTO :eof 

L'aria principale di questo approccio è che si deve costruire il progetto di volta in volta, come ci si deve con il codice C#, per aggiornare il testare il progetto prima di eseguire i test.

Problemi correlati