Durante il test dei file .js
con importazioni di Webpack CSS come import './style.css'
, Mocha genera un errore di sintassi (perché tenta di importare e analizzare il file CSS come JS). C'è una soluzione per questo that has already been posted on Stack Overflow, ma si rivolge solo se non stai già utilizzando un compilatore con Mocha. Sto usando Babel 5. Ho provato quanto segue, ma sembra che Mocha non supporta il passaggio più compilatori:Gestire il WebPack Importazioni CSS durante il test con Mocha e Babel
// npm test script
mocha ./src/**/*Test.js --compilers css:./scripts/mocha-webpack-compiler.js js:babel/register
// scripts/mocha-webpack-compiler.js
function noop() {
return null;
}
require.extensions['.css'] = noop;
C'è un modo per avere più compilatori Mocha, o un modo migliore per raccontare Mocha non tentare di analizzare le importazioni CSS Webpack?
EDIT:
mi piace la soluzione proposta da @Giles B sotto; era esattamente ciò di cui avevo bisogno. Tuttavia, dal momento che sono ancora in Babel 5 Avevo bisogno di qualche ritocco come illustrato di seguito:
mocha.opts
--require scripts/support/babelhook
--require scripts/support/mocha-webpack-compiler
scripts/babelhook.js
require('babel/register');
scripts/moka-webpack- compiler.js
function noop() {
return null;
}
require.extensions['.css'] = noop;
sceneggiatura moka
mocha ./src/**/*Test.js
Questo funziona per me utilizzando babel
e babel-core
, entrambe la versione 5.8.23
.
Grazie - questo sembra essere esattamente ciò di cui ho bisogno. Ma non funziona ancora per me: sto ricevendo un "SyntaxError: Import token imprevisto"; stai usando i moduli ES6?A proposito, sono ancora su Babel 5 (Babel 6 ha avuto troppi problemi al momento). Domanda SO correlata: http://stackoverflow.com/questions/20049790/how-to-pass-compiler-options-to-mocha – trevordmiller
Ho aggiornato la mia domanda con il mio codice aggiornato – trevordmiller
Ho anche aggiunto una taglia di 100 reputazione se tu o qualcun altro puoi aiutarmi a ottenere questo lavoro – trevordmiller