Использование node.js, nodeunit и ES6/Harmony

Прямо сейчас у меня есть среда сборки для модульного тестирования, использующая node.js и nodeunit. Очень доволен этим, но теперь мне нужно TCO. Я знаю, что TCO была добавлена ​​в стандарт ES6, но я не знаю, как разрешить ее использование в моем проекте. Пробовал флаг Harmony, но не смог заставить его работать с nodeunit. Любая помощь?

У меня есть идея использовать Harmony здесь: Оптимизация хвостового вызова Node.js: возможно или нет?

Мне нравится, как думают эти ребята, но я не могу дать первый ответ, потому что тогда другим работающим над проектом также придется изменить свои файлы nodeunit.cmd (что может испортить другие проекты, над которыми они работают), а второй ответ не работает: NodeUnit включает функции гармонии


person user3380049    schedule 06.10.2014    source источник


Ответы (1)


Насколько я понимаю, похоже, что вы хотите написать модульные тесты в ES5, используя nodeunit для проверки кода, написанного в ES6.

Если я правильно понял, то вы можете проверить это post, в котором показано, как этого добиться.

Это решение требует от вас 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.

person flawyte    schedule 30.04.2015