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

时间:2015-07-25 17:33:53

标签: node.js unit-testing testing webpack

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

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

我想要的是什么:

  • 可以通过Webpack编译的测试模块。
  • 可由Webpack编译并由所述测试模块测试的模块。
  • 能够使用像rewire这样的工具来注入虚假的依赖项。
  • 运行单个测试模块。
  • 能够使用Webpack的监视模式。

可能的方法:

我想说每个测试模块都等同于Webpack的入口点。然后,Webpack可以构建测试模块和测试模块。这也会自动允许使用Webpack的监视模式。但是,每个新的测试模块都必须添加到Webpack配置的入口点,这感觉有点错误和乏味。

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

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

知道如何实际解决这个问题吗? Webpack非常好,但我无法弄清楚如何正确地测试我的模块。

1 个答案:

答案 0 :(得分:0)

我认为我的问题现在已经被各种Babel插件解决了,例如babel-plugin-rewire,并且只使用了具有合适的.babelrc的Mocha。