node.js - 如何使用 webpack url-loader 运行 mocha 测试?

标签 node.js webpack mocha.js babeljs

我有以下脚本:

"build": "NODE_ENV=production webpack 
--progress 
--profile 
--config scripts/webpack.build.config.js 
--mode production"

当我使用我的配置构建项目时,一切都很顺利。

"test": "cross-env NODE_PATH=$NODE_PATH:./src NODE_ENV=test 
nyc mocha 
--timeout 30000 
--exit \"./src/**/*.test.js\" 
--require babel-register 
--require babel-polyfill"

但是当我尝试运行 npm run test 时我有一个错误,该文件 我导入的内容收不到

SyntaxError: D:/workspace/messaging-server/src/resources/templates/chat.messages.mustache.template: Unexpected token (1:0) 1 <table width="100%" height="100%" bgcolor="#F0F0F0">

有没有办法根据 webpack 配置运行 mocha 测试?

最佳答案

我通过这种方式解决了问题:

创建新文件babel-ignored.js

require.extensions['.png'] = function () {
  return null;
};
require.extensions['.template'] = function () {
  return null;
};

然后我添加到脚本 --require babel-ignored.js

"test": "cross-env NODE_PATH=$NODE_PATH:./src NODE_ENV=test 
nyc mocha 
--timeout 30000 
--exit \"./src/**/*.test.js\" 
--require babel-register 
--require babel-polyfill"
--require babel-ignored.js

现在,获取任何带有 .png.template 扩展名的文件都会被 babel-register 忽略,这解决了我的问题

关于node.js - 如何使用 webpack url-loader 运行 mocha 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50463630/

相关文章:

node.js - 在 loopback api 中定义自定义函数的最佳方式

javascript - 从JavaScript加载外部JavaScript库/脚本

node.js - 如何使用 node.js 捕获正在运行的计算机主机的桌面屏幕

testing - ReferenceError : Can't find variable: require. [ karma ,webpack]

jquery - 找不到 Webpack 模块 : Error: Can't resolve 'jquery'

javascript - 如何使用 MiniCssExtractPlugin 控制 CSS 的顺序?

express - Mocha 测试正在通过,但断言或期望失败

node.js - Sails.js Waterlock 如何覆盖登录操作(如何编写自定义登录操作)

node.js - Node js 为方法链创建测试 stub

node.js - 如何为用户需要登录的网页编写单元测试