Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • UX e Design
  • Outros
  • Todos
  • Inteligência Artificial
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    TDD e BDD na prática Construa aplicações Ruby usando RSpec e Cucumber

    Hugo Baraúna, Philippe Hardardt
    Livro de TDD e BDD com Cucumber e Rspec

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    Saber fazer testes automatizados é uma habilidade essencial para todo mundo que desenvolve software atualmente. Como devo escrever testes que ajudem a garantir o funcionamento do meu código? Organizar seus testes e saber aplicar TDD (Test-Driven Development) e BDD (Behavior-Driven Development) devidamente é um conhecimento que você pode usar em várias linguagens de programação. Para Ruby, dentre as ferramentas mais famosas para fazer isso estão o RSpec e o Cucumber.

    Neste livro, Hugo Baraúna e Philippe Hardardt apresentam desde os fundamentos para escrever um teste que vá ajudar você a garantir a qualidade do seu software, até tópicos mais avançados, tais como: usar testes automatizados para ajudar no design do seu código, com TDD e BDD; a diferença entre mocks e stubs, quando usar um ou outro; como criar uma documentação executável do seu software e como isso pode ser útil.

    Saiba o que você vai aprender

     

    Sumário

    • 1 Visão geral sobre TDD
    • 1.1 TDD e sua história
    • 1.2 E por qual motivo eu deveria usar TDD?
    • 2 Primeiros passos com RSpec e Cucumber
    • 2.1 Olá RSpec
    • 2.2 Olá Cucumber
    • 2.3 O que é BDD?
    • 3 Conhecendo o RSpec
    • 3.1 Aprendendo a estrutura básica de um teste com RSpec
    • 3.2 Por que existem tantos matchers no RSpec
    • 3.3 Conhecendo os RSpec built-in matchers
    • 3.4 Custom matchers
    • 3.5 Entendendo o protocolo interno de matcher do RSpec
    • 4 Organização, refatoração e reúso de testes com o RSpec
    • 4.1 Reduzindo duplicação com hooks do RSpec
    • 4.2 DRY versus clareza nos testes
    • 4.3 After hook
    • 4.4 Around hook
    • 4.5 Organizando seus testes
    • 4.6 Reúso de testes
    • 5 Mocks e stubs
    • 5.1 Por que preciso de mocks?
    • 5.2 Conhecendo o conceito de test doubles
    • 5.3 Usando stubs com RSpec
    • 5.4 Escrevendo mock expectations com RSpec
    • 5.5 Quando usar mock e quando usar stub
    • 5.6 Usando o método double para fazer testes isolados
    • 5.7 Verified doubles
    • 6 Conhecendo o Cucumber
    • 6.1 Por que usar Cucumber?
    • 6.2 Visão geral de Cucumber
    • 7 Especificando funcionalidades com Cucumber
    • 7.1 Instalando e fazendo setup do Cucumber
    • 7.2 Estrutura de uma feature com Cucumber
    • 7.3 Escrevendo um cenário
    • 7.4 Escrevendo cenários expressivos com Cucumber
    • 8 Automatizando especificações com Cucumber
    • 8.1 Escrevendo os primeir
    • os step definitions
    • 8.2 Escrevendo step definitions para cenários expressivos
    • 8.3 Support code
    • 8.4 Cucumber World
    • 8.5 Usando Cucumber hooks
    • 9 Boas práticas no uso de Cucumber
    • 9.1 Use e abuse das descrições da funcionalidade e dos cenários
    • 9.2 Evite detalhes desnecessários
    • 9.3 Cenários imperativos versus cenários declarativos
    • 9.4 Organizando os arquivos da minha especificação executável
    • 10 BDD na prática: começando um projeto com BDD
    • 10.1 Definindo o escopo da nossa aplicação: Jogo da Forca
    • 10.2 Especificando uma funcionalidade com Cucumber
    • 10.3 Usando RSpec no nosso primeiro teste
    • 10.4 Usando Aruba para testar uma aplicação CLI
    • 10.5 Reutilizando step definitions de um modo melhor
    • 11 Começando o segundo cenário
    • 11.1 Definindo o segundo cenário
    • 11.2 Reduza duplicação através de support code
    • 11.3 Implementando o fluxo do jogo no binário
    • 11.4 Modificando nosso cenário para receber o feedback correto
    • 11.5 Usando subject e let do RSpec para evitar duplicação nos testes
    • 11.6 Refatorando o código para poder implementar o segundo cenário
    • 11.7 Extraindo uma classe através de refatoração
    • 11.8 Possibilitando ao jogador terminar o jogo no meio
    • 12 Finalizando a primeira funcionalidade
    • 12.1 Deixando o segundo cenário no verde
    • 12.2 Finalizando a primeira funcionalidade
    • 13 Refatorando nosso código
    • 13.1 Identificando os pontos a serem refatorados
    • 13.2 Extraindo uma classe de um método privado
    • 13.3 Distribuindo responsabilidades para outras classes
    • 14 Especificando a segunda funcionalidade
    • 14.1 Documentando especificação e critério de aceite com Cucumber
    • 14.2 Definindo o teste de aceitação do primeiro cenário
    • 14.3 Melhore a testabilidade do seu software
    • 15 Finalizando 15 a segunda funcionalidade
    • 15.1 Refatorando nosso jogo para ter uma máquina de estados
    • 15.2 Refatorando o fluxo do jogo para usar a máquina de estados
    • 15.3 Organizando seus testes otimizando para leitura
    • 15.4 Interface discovery utilizando test doubles
    • 15.5 Finalizando a funcionalidade Adivinhar letra
    • 16 Finalizando nosso jogo
    • 16.1 Especificando o fim do jogo
    • 16.2 Jogador vence o jogo
    • 16.3 Jogador perde o jogo
    • 16.4 Próximos passos
    • 17 Referências bibliográficas

    Autores

    Hugo Baraúna

    Hugo Baraúna fundou a Plataformatec, empresa de consultoria de software especializada em Ruby, agile e Elixir. A Plataformatec foi a empresa que criou a linguagem Elixir. Também foi uma referência nacional e internacional no mundo Ruby, devido principalmente a seus projetos open source, como Devise e Simple Form. Hugo se formou em Engenharia de Computação pela Politécnica da USP e tem um MBA pelo Insper. Atualmente, ele mora em São Paulo com sua esposa e seus dois gatinhos.

    Philippe Hardardt

    Philippe Hardardt trabalha com desenvolvimento de software desde 2008 e já experimentou muitas linguagens de programação diferentes, desde ASP até Clojure. Tem um interesse especial por tópicos que se aplicam a qualquer tecnologia, como testes automatizados. Teve a oportunidade de trabalhar na Plataformatec até sua aquisição pelo Nubank, onde trabalha atualmente.

    Dados do produto

    Número de páginas:
    429
    ISBN:
    978-65-86110-29-6
    Data publicação:
    08/2020
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Data Visualization
    Data Visualization
    +
    Livro de Estatística para Ciência de Dados
    Introdução à Estatística para Ciência de Dados
    altLogoFooter

    Uma empresa do Grupo Alun

    Logo da Alun

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alun

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev