1

现在我有一个使用 node.js 和 nodeunit 的单元测试构建环境。对这些非常满意,但现在我需要 TCO。我知道 TCO 已被添加到 ES6 标准中,但我不知道如何允许它与我的项目一起使用。尝试了 Harmony 标志,但无法使其与 nodeunit 一起使用。有什么帮助吗?

得到了在这里使用 Harmony 的想法: Node.js 尾调用优化:可能与否?

我喜欢这些人的想法,但我不能做第一个答案,因为该项目的其他工作人员也将被迫更改他们的 nodeunit.cmd 文件(这可能会搞砸他们正在从事的其他项目)和第二个答案似乎不起作用: NodeUnit 启用和谐功能

4

1 回答 1

1

据我了解,您似乎想使用nodeunit在 ES5 中编写单元测试来测试用 ES6 编写的代码。

如果我理解得很好,那么您可以查看这篇文章,其中展示了如何实现这一点。

这个解决方案需要你npm install traceur,然后你可以require()在你的测试中使用你的 ES6 模块,如下所示:

var traceur = require('traceur');

traceur.require.makeDefault(function(filename) {
  return filename.indexOf('node_modules') === -1; // Don't parse node modules
});

var myModule = require('./../path/to/my/module.js');

module.exports = {
  // ... tests ...
};

现在您应该可以使用nodeunit运行它了。

于 2015-04-30T19:13:08.600 回答