首页 > 解决方案 > 我应该针对生产构建转换(即 Babel)运行我的测试吗?

问题描述

我的一位同事最近在一个新项目(一个 JS 库)中设置了测试,其中转换步骤挂钩到生产配置中 Webpack 的 babel 配置。

作为参考,这是与 Jest 一起使用的设置:https ://jestjs.io/docs/en/configuration.html#transform-object-string-string

生产构建以 ES5 为目标,而我们的 CI 在 Node 10 及更高版本上。这意味着,对于我们所有的测试,源代码都被所有不必要的 Babel 转换所转换。请注意,我们的源代码是常规的 ES2016 Javascript,没什么花哨的。唯一需要的转换可能是 ES6 导入语法。

我的直觉反应是,这非常浪费,并且不必要地将测试与生产构建配置结合起来。但我的同事的理由是,他希望确保测试针对用户将使用的相同工件运行。

这对我来说很有意义,但我不确定正确的答案是什么。每种方法的优缺点是什么?针对生产构建转换运行测试有什么危险?

标签: javascriptunit-testingtestingwebpackjestjs

解决方案


推荐阅读