Como faço para testar funções JavaScript 'normais' (não específicas do nó) com o Mocha?

Isso parece quedevemos ser extremamente simples; No entanto, depois de duas horas de leitura e tentativa e erro sem sucesso, estou admitindo a derrota e perguntando a vocês!

Estou tentando usarMocha comShould.js para testar algumas funções JavaScript, mas estou correndo em problemas de escopo. Eu simplifiquei até o mais básico dos casos de teste, mas não consigo trabalhar.

Eu tenho um arquivo chamadofunctions.js, que contém apenas o seguinte:

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

E meutests.js (localizado na mesma pasta) conteúdo:

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

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

Este teste falha com umReferenceError: testFunction is not defined.

Eu posso ver porque, porque a maioria dos exemplos que eu encontrei ou anexar objetos e funções para o nóglobal objeto ou exportá-los usandomodule.exports- mas usar uma dessas abordagens significa que meu código de função lançaria erros em uma situação padrão de navegador, onde esses objetos não existem.

Então, como posso acessar funções autônomas que são declaradas em um arquivo de script separado dos meus testes, sem usar a sintaxe específica do Nó?

questionAnswers(3)

yourAnswerToTheQuestion