测试由 webpack 构建的 node.js 代码

Testing node.js code that is built by webpack

我正在使用 webpack(利用 babel-loader 和其他加载器)构建我的应用程序的后端。我想使用 any 常见测试工具(例如 Mocha)来测试所述后端的各个模块,就像我可以使用普通 Node 模块一样。

我的构建过程创建了一大包我的文件(node_modules 是外部化的),这显然不允许我测试该包中包含的各个模块。

我想要的:

可能的做法:

我想说每个测试模块都相当于 Webpack 的一个入口点。然后,测试模块和被测试模块都可以由 Webpack 构建。这也会自动允许使用 Webpack 的监视模式。然而,每一个新的测试模块都必须在Webpack配置中添加入口点,这感觉有点错误和乏味。

使用这种方法,大多数测试工具都可以正常工作,因为可以只使用那些测试模块入口点的输出。

注入假依赖是使用这种方法的另一个问题。为了使这个工作,测试模块必须使用实际的 Node require 函数,而不是使用 Webpack 提供的从测试模块包本身加载模块的函数。我完全不知道如何解决这个问题。

知道如何真正做到这一点吗? Webpack 非常好,但我就是不知道如何用它正确地测试我的模块。

我认为我的问题现在已通过各种 Babel 插件解决,例如 babel-plugin-rewire 并且只需将 Mocha 与合适的 .babelrc 一起使用即可。