Behavior Driven Development
framework for testing JavaScript code
Definição
Jasmine é um framework de
desenvolvimento de testes orientados a
comportamento para testar código
JavaScript. Ele não depende de quaisquer
outras estruturas JavaScript. Ela não requer
uma DOM (Modelo de Objetos do
Documento). E tem uma sintaxe limpa, de
modo que você pode facilmente escrever
testes.
BDD vs. TDD
•É orientado a BDD (Behavior Driven
Development), ou seja, desenvolvimento
orientado a comportamento.
•BDD, muitas vezes é confundido com TDD.
Jasmine use TDD BDD
Práticas BDD
•Envolver os stakeholders no processo através de Outside-in
Development (Desenvolvimento de Fora pra Dentro)
•Usar exemplos para descrever o comportamento de uma aplicação
ou unidades de código
•Automatizar os exemplos para prover um feedback rápido e testes
de regressão
•Usar deve na hora de descrever o comportamento de software para
ajudar esclarecer responsabilidades e permitir que funcionalidades
do software sejam questionadas
•Usar dublês de teste (mocks, stubs, fakes, dummies, spies) para
auxiliar na colaboração entre módulos e códigos que ainda não
foram escritos
Especificações do Framework
•Suites (describe) - Conjunto de Specs;
•Specs (it) - Teste individuais;
•Matches (expect()) – Conjunto de condições
–Exemplo:
expect(x).toEqual(y) = assertEquals in JUnit
expect(x).toBeNull() = assertNull in JUnit
•Before and After – Define funções que são
executadas antes ou depois de um spec;
Por onde começar?
•Download:
https://github.com/pivotal/jasmine/downloads
•Documentation:
http://pivotal.github.com/jasmine/
•Matchers:
http://github.com/pivotal/jasmine/wiki/Matchers
Directory Folders
Chamadas
•Dentro do cabeçalho do arquivo HTML
importe cada um dos arquivos
•Junto é necessário os arquivos a serem
testados e o seu arquivo de teste.
Ao executar o arquivo principal,
automaticamente será procurada a função
describe dentro dos arquivos importados.