当前位置:  开发笔记 > 前端 > 正文

使用babel-node和babel-istanbul运行mocha测试时加载css时出错

如何解决《使用babel-node和babel-istanbul运行mocha测试时加载css时出错》经验,为你挑选了0个好方法。

我在测试使用webpack导入.scss的UI组件时遇到问题.我正在直接测试组件代码,而不是导出的webpack包.

在我的SUT中

我有一些导入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-nodebabel-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文件旁边遇到这个问题.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有