2017-01-07 3 views
1

У меня есть код:Test Driven узел (без рамок тестирования)

var User = function() { 
    ... 
} 

и тестовый код с помощью IIFE:

(function() { // test new user 
    var user = new User(); 
    if (typeof user === 'undefined') { 
     console.log("Error: user undefined"); 
    } 
    ... 
}()); 

как в том же JS-файла. Прекрасно работает! Но, по мере того как программа растет, это становится слишком трудным для меня, поскольку у меня есть часть тестового кода для каждой части бизнес-логики.

Меня научили хранить все мои js в одном файле (хорошо зарекомендовали себя) в производстве, но есть ли лучший способ сохранить мой тестовый код в другом файле во время разработки?

Я думал, что могу использовать сценарий оболочки, чтобы добавить тестовый код к производственному коду, когда я хочу запустить тесты, но я бы предпочел кросс-платформенное решение.

Я не хочу или не нуждаюсь в рамочном решении, я хочу, чтобы оно светило - у узла есть что-то встроенное для такого рода вещей?

+1

На самом деле лучше разделить код на несколько файлов, вы всегда можете объединить его для производства. Y –

+1

Но чтобы ответить на ваш вопрос, просто сделайте это сами, поместив местозаполнитель в каждый файл и используйте простую команду replace. С nodejs создание инструмента командной строки очень просто! (Или просто создайте скрипт bash) –

ответ

1

Узел имеет два выражения для этого случая. Первый:

module.exports = name_of_module; 

Который должен экспортировать модуль, например функцию, объект или что-то подобное. И второе:

var module_name = require('Path/to/module'); 

, чтобы импортировать его из другого файла. Если вы хотите экспортировать IIFE, вы должны назначить его глобальной переменной и имени module.export переменной.

Смежные вопросы