Как протестировать «нормальные» (не специфичные для Node) функции JavaScript с Mocha?
Это похоже на этоshould быть предельно простым; однако после двух часов чтения и проб и ошибок без успеха я признаю поражение и прошу вас, ребята!
Я пытаюсь использоватькофе мокко сShould.js чтобы протестировать некоторые функции JavaScript, но я сталкиваюсь с проблемами с областью видимости. Я упростил его до самых базовых тестовых случаев, но не могу заставить его работать.
У меня есть файл с именемfunctions.js
, который просто содержит следующее:
<code>function testFunction() { return 1; } </code>
И мойtests.js
(находится в той же папке) содержимое:
<code>require('./functions.js') describe('tests', function(){ describe('testFunction', function(){ it('should return 1', function(){ testFunction().should.equal(1); }) }) }) </code>
Этот тест не проходит сReferenceError: testFunction is not defined
.
Я могу понять, почему, поскольку большинство примеров, которые я обнаружил, либо присоединяют объекты и функции к узлуglobal
объект или экспортировать их с помощьюmodule.exports
& # x2014; но использование любого из этих подходов означает, что мой код функции будет выдавать ошибки в стандартной ситуации браузера, где эти объекты не существуют.
Итак, как я могу получить доступ к автономным функциям, которые объявлены в отдельном файле сценария из моих тестов, без использования специфичного для Node синтаксиса?