Jak przetestować „normalne” (inne niż Node) funkcje JavaScript w Mocha?

To wygląda na topowinien być niezwykle prostym; jednak po dwóch godzinach czytania i bezproblemowych prób i błędów przyznaję się do porażki i pytam was!

Próbuję użyćMokka zShould.js przetestować niektóre funkcje JavaScript, ale mam problemy z określeniem zakresu. Uprościłem go do najbardziej podstawowych przypadków testowych, ale nie mogę go uruchomić.

Mam plik o nazwiefunctions.js, który zawiera tylko następujące elementy:

<code>function testFunction() {
    return 1;
}
</code>

I mójtests.js (znajduje się w tym samym folderze) zawartość:

<code>require('./functions.js')

describe('tests', function(){
    describe('testFunction', function(){
        it('should return 1', function(){
            testFunction().should.equal(1);
        })
    })
})
</code>

Ten test kończy się niepowodzeniemReferenceError: testFunction is not defined.

Rozumiem dlaczego, ponieważ większość przykładów, które znalazłem, albo dołącza obiekty i funkcje do węzłaglobal obiekt lub wyeksportuj je za pomocąmodule.exports—Ale użycie jednego z tych podejść oznacza, że ​​mój kod funkcji będzie rzucał błędy w standardowej sytuacji przeglądarki, gdzie te obiekty nie istnieją.

Jak więc uzyskać dostęp do samodzielnych funkcji zadeklarowanych w oddzielnym pliku skryptu z moich testów, bez użycia składni specyficznej dla węzła?

questionAnswers(3)

yourAnswerToTheQuestion