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.
• Code Sourcing...

Apresentação jasmine

  • 1.
    Behavior Driven Development frameworkfor testing JavaScript code
  • 2.
    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.
  • 3.
    BDD vs. TDD •É orientado a BDD (Behavior Driven Development), ou seja, desenvolvimento orientado a comportamento. • BDD, muitas vezes é confundido com TDD.
  • 4.
  • 5.
    Práticas BDD • Envolveros 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
  • 6.
    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;
  • 7.
    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
  • 8.
  • 9.
    Chamadas • Dentro docabeçalho do arquivo HTML importe cada um dos arquivos • Junto é necessário os arquivos a serem testados e o seu arquivo de teste.
  • 10.
    Ao executar oarquivo principal, automaticamente será procurada a função describe dentro dos arquivos importados.
  • 11.