Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

É possível testar módulos Javascript do ECMA2015 com o Jasmine?

Como fiz os cursos de Javascript avançado, escrevi minha classe utilizando módulos:

export class MaiorEMenor {
    encontra(nums) {
        let menor = Number.MAX_VALUE;
        let maior = Number.MIN_VALUE;

        nums.forEach(num => {
            if (num < menor) menor = num;
            else if (num > maior) maior = num;
        });
    }

    pegaMenor() {
        return menor;
    }

    pegaMaior() {
        return maior;
    }
}

O problema é que a classe de teste não conhece o meu módulo, e por isso dá o seguinte erro: ReferenceError: MaiorEMenor is not defined

// Meu arquivo de teste
describe('MaiorEMenorSpec', () => {
    it('Deve entender numeros em ordem nao sequencial', () => {
        var algoritmo = new MaiorEMenor();
        algoritmo.encontra([5,15,7,9]);
    });
});

Tentei importar o módulo, como faço em arquivos javascript, comuns, mas não tive sucesso.

É possível testar módulos no Jasmine sem ter que simular uma classe, como faz o professor no vídeo e sem usar transpiler? Ou seja, existe suporte nativo dessa ferramenta ao ES2015 (e posteriores a ele)?

3 respostas

Fala aí Giuliana, tudo bem? Sim, isso é possível, sem o menor problema.

Porém, irá exigir algumas configurações do Jasmine (das quais não lembro), tente dar uma olhada na documentação do Jasmine, ele explica certinho como fazer.

Mas, de forma geral não tem muito segredo, é mais importar a classe e utilizá-la nos testes.

Espero ter ajudado.

solução!

Dei uma pesquisada e achei uma forma de configurar, mas usando o babel. Para testes, aparentemente é necessário usar um transpiler, nem que seja de forma transparente durante a execução dos testes.

Solução: https://github.com/giuliana-bezerra/jasminebabeles2015

Entendi, precisaria entender com mais calma e detalhes o problema.

Talvez o jasmine só funcione com códigos mais antigas, por isso foi necessário transpilar os códigos novos para um padrão mais antigo.

Fico feliz que tenha conseguido resolver.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software