A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

BDD com RSpec Behaviour-Driven Development em Ruby Danilo Sato ThoughtWorks UK www.dtsato.com.

Apresentações semelhantes


Apresentação em tema: "BDD com RSpec Behaviour-Driven Development em Ruby Danilo Sato ThoughtWorks UK www.dtsato.com."— Transcrição da apresentação:

1 BDD com RSpec Behaviour-Driven Development em Ruby Danilo Sato ThoughtWorks UK

2 Duas Perspectivas

3 TDD / Test::Unit

4 DSL para BDD Quanta sigla…

5 Test::Unit Classe estende Test::Unit::TestCase Métodos devem começar com test Assertions: – assert(bool) – assert_equal(expected, actual) – assert_raise(args, blk) – assert_nil(actual) – …

6

7

8

9

10 setup/teardown

11 Simple Custom Matcher

12 Custom Matcher

13

14 Reaproveitamento

15 Pendente…

16 Test-Driven Development

17 Feedback Confiança Erros são detectados rapidamente Ajudam a saber quando terminamos Pensar no design antes de implementar Evita generalização desnecessária Regressão automatizada

18 Testes Unitários Integridade Interna Rápidos Independentes Escrito por e para desenvolvedores Não indicam integridade externa

19 Visão mais ampla

20 Histórias Como Eu gostaria de Pois

21 Cenários (exemplos) Dado Quando Então

22 SMART Specific Measurable Achievable Relevant Time-boxed

23

24

25 Testes de Aceitação Integridade Externa Mais lentos Mais difícil detectar causa de erros Escrito para clientes Não indicam integridade interna

26

27

28 Testes Unitários

29 Testes de Aceitação

30

31

32 ?

33 Integração

34 Mocks Permitem especificar interações entre objetos Trocam o objeto real por um dublê Verificam que as expectativas foram atendidas Substituem: – Objetos gordos – Serviços externos – Bibliotecas (não quero testar se o gem funciona) – …

35 Mocks

36 Criando um mock

37 Gravando Expectativas

38 Verificar Expectativas Automático! O teste vai falhar se: – Método esperado não foi chamado – Método foi chamado com argumentos diferentes – Método foi chamado mais ou menos vezes – Método não esperado foi chamado – …

39 Stubs Mocks que não verificam expectativas Servem como dublês mas não se importam com o que aconteceu

40 RSpec on Rails Permite testar camadas isoladas: – Model – Controller – View – Helper Testes de aceitação com Histórias

41 Model

42 Controller

43 View

44 Muito mais…

45 De volta ao BDD…

46 Normalmente…

47 BDD

48

49 Resumindo Behaviour-Driven Development – Um processo ponta-a-ponta de desenvolvimento – Independente de ferramenta – Outside-in RSpec – Ferramental completo para BDD ponta-a-ponta – Histórias -> Mocks -> Specs

50 Coisas legais (Ruby) Autotest Synthesis Webrat Cucumber Selenium

51 BDD com RSpec Behaviour-Driven Development em Ruby Danilo Sato ThoughtWorks UK


Carregar ppt "BDD com RSpec Behaviour-Driven Development em Ruby Danilo Sato ThoughtWorks UK www.dtsato.com."

Apresentações semelhantes


Anúncios Google