Ho 2 file di test in ./test
.Come posso includere test Moka e Karma (lato server e lato client) nella stessa base di codice/package.json?
Diciamo che test1.js
è un test di Mocha che fa girare un server ed esegue varie richieste contro gli URI per determinare che si comportano tutti come previsto.
test2.js
è un test che utilizza Mocha Karma per caricare script specifici (tra cui angular-mocks.js
) ed eseguire in pochi browser per garantire tutte le funzionalità lì si comporta come previsto.
In package.json
mi hanno la proprietà test
configurato come tale:
"scripts": {
"test": "./node_modules/.bin/mocha --reporter spec -t 5000"
},
fredda, posso npm test
dalla riga di comando per eseguire Mocha. Ma oh noes - Mocha esegue entrambi i miei script, e lo test2.js
ovviamente blocca tutto, dal momento che la logica in esso presente presuppone che funzioni nel contesto del Karma (scusatemi se non lo descrivo correttamente).
ho potuto avere 2 cartelle di prova, test
e test-ng
o qualcosa del genere, ma penso che in ultima analisi, voglio essere in grado di npm test
e hanno diversi set di test eseguiti, vale a dire:
"./node_modules/.bin/mocha --reporter spec -t 5000"
"./node_modules/.bin/karma start"
e configurarli a ciascuno eseguire i file js corretti. Sto cercando come un matto per trovare un esempio in cui test sul lato client e sul lato server esistono nello stesso repository, ma sto solo trovando tutorial e post di blog e simili per dimostrare uno o l'altro. Qualcuno può aiutarmi nella giusta direzione?
Modifica: Devo pensare/organizzare i miei test in questo modo?
./tests/server/**.js
./tests/e2e/**.js
./tests/unit/**.js
stavo forse facendo ipotesi basate sul fatto che NPM di default utilizza la cartella ./test/
.
Edit 2: Ora sto facendo quello che ho descritto sopra, più o meno, e sono i miei test descritto nel readme del pronti contro termine come:
test di unità angolari possono essere eseguiti tramite Karma:
./node_modules/.bin/karma start karma.conf.js
angolare end-to-end test possono essere eseguiti mediante goniometro:
./node_modules/.bin/protractor protractor.conf.js
unit test Express possono essere eseguite tramite Mocha:
./node_modules/.bin/mocha ...
Quindi ora non sto usando lo npm test
e mi chiedo quali vantaggi ci siano nell'utilizzarlo.
Chi ha votato per chiudere, direi che questo non è affatto basato sull'opinione pubblica. Potrei rinominare il titolo della domanda in "Come si possono avere 2 set di test diversi in una direttiva di script npm", ma ciò non sarebbe così esplicativo. –
Puoi configurare i tuoi file di inclusione/esclusione nella [mocha] (http://attester.ariatemplates.com/usage/configuration.html#tests) e [Karma] (http://karma-runner.github.io/ Config 0.13/config/configuration-file.html)? –