1
resposta

Executando os testes mais rapidamente

olá, percebi que se eu colocar no meu código

var express = require('../config/expressConfig');

o teste executa em :

#ProdutosControler
    ✓ listagem Json
  1 passing (14ms)

ma se eu colocar

var express = require('../config/expressConfig')();

o teste executa em :

#ProdutosControler
    ✓ listagem Json
  1 passing (33ms)

sabe me dizer o porquê e qual a relação entre chamada e resultado em função do "()" no final da chamada.

Obrigado

1 resposta

Oi Adriano, o tempo de execução dos testes depende de vários fatores. Acredito muito que essa diferença não é só relativa ao parênteses, mas pra indicar que isso pode sim influenciar temos que ver o seguinte:

  1. Quando você faz o require, o interpretador apenas avalia a sintaxe do código e pronto, passa para o próximo passo.

  2. Quando você faz o require e executa logo em seguida, você adiciona um passo a mais para a execução do próximo passo.

  3. Se eu não me engano, a importação sem execução gera cache do módulo externo, com execução direta, não tem cache. Isso se eu não estiver enganado. Então o cache dos módulos pode resultar sim em um tempo menor de execução do código do módulo.

Faz sentido?