2015-09-20 5 views
10

Con WebPack puoi importare stili nel tuo codice come questo: import './PageSpinner.styl'; Ma quando provi a testare questo codice con Mocha, i tuoi test verranno arrestati con SyntaxError perché il motore prova a gestire stili come JS codice.Gestisci le importazioni CSS da WebPack durante il test con Mocha

Come posso testare il codice in questo modo con Mocha?

risposta

27

Ho avuto lo stesso problema ultimamente e la soluzione era tramite i compilatori Mocha.

creare un file, chiamiamolo 'css-null-compiler.js' ed ha:

function noop() { 
    return null; 
} 

require.extensions['.styl'] = noop; 
// you can add whatever you wanna handle 
require.extensions['.scss'] = noop; 
require.extensions['.png'] = noop; 
// ..etc 

quando si esegue moka dalla riga di comando, passare questo file come un compilatore

mocha /your/test.spec.js --compilers css:css-null-compiler.js 
+0

Cool! Mi hai salvato la vita. – zhaozhiming

+0

Ho fatto lo stesso ancora affrontando lo stesso errore !! –

+0

Sembra che questo non risolva più il problema poiché 'require.extensions ['...']' è stato deprecato. @brent risolto questo problema per me di seguito. – Joe

3

Questo può essere fatto con il pacchetto ignore-styles.

Installare il pacchetto e quindi richiedere quando si esegue la moka.

ad es.

mocha --require babel-register --require ignore-styles