Teste de JavaScript com Jasmine

Índice
Agora, já vimos do que se trata Jasmim agora vamos ver como funciona.
  • Baixamos a última versão do Jasmim e nós descompactamos.
  • Entramos no diretório de Jasmim e nós executamos SpecRunner.html e veremos o seguinte:

Este arquivo executa alguns testes em um código de exemplo, se quisermos executar os testes podemos atualizar o navegador e eles serão executados.
Agora vamos ver um exemplo de como usar Jasmim:
  • Primeiro criamos uma função simples que contém uma string como um retorno de chamada.
function helloWorld () {
return "Olá, mundo!";
}
Temos certeza de que isso funciona certo? Mas vamos tentar isso com Jasmim e vamos ver o que você acha do nosso código.
  • Salvamos a função criada em um arquivo que podemos chamar hello.js, nós abrimos SpecRunner.html para realizar a inclusão.


  • Agora vamos colocar o Jasmine para funcionar, crie um arquivo contendo o seguinte código:
describe ("Olá, mundo", function () {
it ("diz olá", function () {
expect (helloWorld ()). toEqual ("Olá, mundo!");
});
});
Vamos ver o que este código contém:
Primeiro temos o describe, que geralmente define um componente da nossa aplicação, pode ser uma classe, função ou talvez outra coisa. Neste exemplo, refere-se à nossa função Olá Mundo ().
Vamos continuar no mesmo código e teremos o bloco de Item(), isso é chamado de especificação. É uma função em Javascript que nos diz o que esperar ou o que nosso componente deve fazer. Para cada descrição, podemos ter qualquer número de especificações.
Neste caso, estamos testando se a função Olá Mundo () retorna "Olá, mundo!" e nós o verificamos com o toEqual () que nada mais é do que um combinador, isso basicamente nos dirá se o conteúdo da string é o mesmo que está sendo testado.
  • Nós salvamos o código com o nome hello.spec.js nós o colocamos no diretório onde as especificações estão contidas e o incluímos em nosso SpecRunner.html


Por fim, executamos essa especificação em nosso navegador e veremos uma saída como a que temos abaixo:

Também podemos usar outro tipo de matcher, vejamos:
describe ("Olá, mundo", function () {
it ("diz mundo", function () {
expect (helloWorld ()). toContain ("mundo");
});
});
Em vez de esperar que o valor seja o mesmo, desta vez esperamos que o conteúdo seja a palavra “mundo”, independentemente do resto do conteúdo, contanto que a palavra “mundo” exista neste teste, Jasmine irá interpretá-la como correta.
Se formos para nossa função, podemos mudar o que ela diz e definir algo diferente de "Hello World", Jasmine verá isso como incorreto porque não é o que ela está esperando e essa é a principal razão pela qual queremos Jasmine, para que dizemos quando algo não é o esperado e isso nos ajudará a tornar nosso código limpo e sem erros.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave