背景
我正在将一些npm脚本移植到Webpack加载器,以便更好地了解Webpack的工作方式,除了我的Mocha测试之外我还有一切工作:我有一个失败的测试,但它没有显示Mocha正在运行 mocha-loader
或者测试失败:
问题
我需要做些什么来让所有 src/**/*.test.js
文件与Webpack中的Mocha一起运行?
重现的步骤
-
克隆https://github.com/trevordmiller/webpack-loaders-playground
-
运行
npm test
以查看测试应如何工作 -
运行
npm run dev
以查看测试如何不与Webpack一起运行
2 回答
Mocha加载程序在构建时不会运行测试,它用于创建一个专门包含您的测试的软件包,然后您可以从浏览器运行 .
我建议为您的测试创建一个单独的webpack配置文件,然后您可以在webpack-dev服务器上托管,该服务器使用与您的应用程序不同的端口 . 这是一个例子,它或多或少是我用于我自己的项目的模式(编写这个答案时):
webpack.tests.config.js
tests / index.js
package.json
test.html
然后运行
npm run devtest
,打开http://localhost:<port you picked>/webpack-dev-server/test.html
,mocha应该运行你的测试 .如果您不需要CSS / LESS或模块中的图像,则可以从
webpack.tests.config.js
中删除这些加载器 .启用热加载后,这是一个非常好的设置,因为我可以让我的应用程序和我的测试在不同的浏览器选项卡中运行,然后更新我的代码并查看我的更改并立即重新运行我的测试 .
您还可以运行
npm run test
以通过命令行执行相同的测试 .希望这可以帮助 .
我喜欢JimSkerritt的答案,但由于某种原因无法让它在我的电脑上工作 . 使用下面的两个配置文件,您可以通过以下方式运行应用:
并运行您的测试:
两个服务器自动重新加载&&你可以同时运行两个!
配置文件
webpack.config.js
package.json