我在测试使用webpack导入.scss的UI组件时遇到问题.我正在直接测试组件代码,而不是导出的webpack包.
我有一些导入scss的代码:
import '!style!css!sass!postcss-loader!../style.scss'
运行测试时,此代码会导致错误:
Error: Cannot find module '!style!css!sass!postcss-loader!../../stylesheets/parts/Breadcrumbs.scss' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:286:25) at Module.require (module.js:365:17) at require (module.js:384:17)
我一直在解决这个问题:
try { require('!style!css!sass!postcss-loader!../style.scss'); } catch(err) { console.log('Not webpack'); }
但这闻起来很脏,我宁愿在我的SUT中没有这个代码.
在使用babel-node和babel-istanbul而不是直接使用mocha 时,我无法弄清楚如何在我找到的解决方案中工作.这是我目前正在运行测试的方式:
$ babel-node babel-istanbul cover _mocha -- --require ./test/setup.js --recursive
我找到的所有答案都是直接用于摩卡,但我没有运行测试:
$ mocha --compilers js:babel-core/register --require ./test/setup.js --recursive?
我如何在编译器或设置文件中工作,告诉mocha忽略.scss文件.我肯定会在.svg文件旁边遇到这个问题.