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

Spock framework Testes automatizados para Java, Android e REST

José Yoshiriro

Conteúdo

A presença de testes automatizados é importante para dar segurança em qualquer código. Seja para refatorá-lo, mantê-lo, seja para inserir novas funcionalidades, os testes permitem uma detecção mais rápida quando algum comportamento anterior é quebrado. Um software interage com diversos recursos dentro de seu ecossistema e provê diferentes tipos de interface para a execução de suas funcionalidades, e é necessário lidar com tudo isso ao criar seus testes automatizados. O Spock framework é uma ferramenta muito poderosa, que pode ser a grande aliada de sua equipe na construção mais rápida e simples de testes melhores e menos verbosos.

Neste livro, José Yoshiriro ensina a utilizar as funcionalidades do Spock framework e apresenta as técnicas de teste, juntamente com exemplos didáticos e focados em problemas do mundo real para tecnologias que são padrão de mercado. Você conhecerá esta ferramenta completa, que dispensa a configuração de bibliotecas adicionais, e dominará suas principais funcionalidades: criação de simples testes unitários; uso de Mocks; o recurso de Data-Driven Testing; criação de testes unitários para Android, de integração para Spring e funcionais para REST APIs.

Versão ampliada e atualizada para v1.3

 

Sumário

  • 1 Por que usar Spock framework?
  • 1.1 Por que criar testes automatizados?
  • 1.2 Testes que podemos criar com Spock
  • 1.3 Por que usar Spock para projetos Java se temos JUnit, TestNG, Mockito etc.?
  • 2 Preparando o ambiente para trabalhar com Spock
  • 2.1 Configurando o Groovy nas principais IDEs Java
  • 2.2 Uso de Groovy em editores de código simples (Sublime Text, Brackets, Atom etc.)
  • 2.3 Configurando as dependências Spock do projeto com Maven
  • 2.4 Configurando as dependências Spock do projeto com Gradle
  • 2.5 Problema com a JDK 11 + Groovy até 2.5.2
  • 2.6 Execução de testes no Eclipe 2018+
  • 2.7 Experimentando o Spock on-line
  • 3 Primeiros testes automatizados com Spock
  • 3.1 Primeiro teste: A classe Math calcula potência corretamente?
  • 3.2 Executando um teste
  • 3.3 O que acontece quando um teste falha
  • 4 Anatomia de um teste Spock
  • 4.1 Testes são chamados de Specifications
  • 4.2 Uma classe de teste pode conter vários métodos de teste
  • 4.3 Fixture Methods (métodos de montagem)
  • 4.4 Blocks (Blocos)
  • 4.5 Por que a anatomia do Spock é essa
  • 5 Data-Driven Testing - Facilitando os testes de múltiplos cenários
  • 5.1 Testando um Analisador de IMC
  • 5.2 Um método, vários cenários
  • 5.3 Descrevendo os testes que falham com detalhes dos cenários
  • 6 Exception Conditions - Testes à espera de exceções
  • 6.1 Às vezes o certo é dar errado
  • 6.2 Testando vários cenários de erro
  • 6.3 Verificando detalhes das exceções
  • 7 Testando com a ajuda de Mocks
  • 7.1 O que são dublês e por que usá-los
  • 7.2 Dependências adicionais para Mocks
  • 7.3 Configurando retornos de métodos em Mocks
  • 7.4 Configurando Mocks para lançarem exceções
  • 7.5 Configurando retornos de métodos aninhados em Mocks
  • 7.6 Verificando a quantidade de execuções de métodos dos Mocks
  • 8 Testando RESTful APIs
  • 8.1 O que são RESTful APIs e a importância de serem bem testadas
  • 8.2 Documentação da API de Cálculo e Banco de IMC
  • 8.3 Preparando o projeto para testes de REST APIs com o HTTP Client Framework For Groovy
  • 8.4 Testando o Endpoint POST /imcs
  • 8.5 Testando o Endpoint GET /imcs/{id}
  • 8.6 Testando o Endpoint GET /imcs
  • 8.7 Testando o Endpoint DELETE /imcs/{id}
  • 9 Recursos avançados
  • 9.1 Ignorando testes
  • 9.2 Tolerância de tempo de um teste com @Timeout
  • 9.3 Executando os testes na ordem em que estão na classe com @Stepwise
  • 9.4 Automatizando a repetição de testes com @Retry
  • 9.5 Compartilhando objetos entre testes com @Shared
  • 9.6 Restaurando propriedades do sistema com @RestoreSystemProperties
  • 9.7 Dando um título para a classe de testes com @Title
  • 9.8 Indicando referências
  • 10 Relatórios profissionais com Spock Reports Extention
  • 10.1 Alterando o diretório de geração do relatório
  • 10.2 Anotações @Title, @See e @Issue são usadas nos relatórios
  • 11 Testando metaprogramação (anotações)
  • 11.1 Metaprogramação em Java: anotações
  • 11.2 Por que testar anotações?
  • 11.3 Testando anotações de uma entidade JPA
  • 12 Testes de integração em projetos Spring
  • 12.1 Spring TestContext framework e Spring Module do Spock
  • 12.2 Testes de integração em um projeto Spring Boot
  • 12.3 Testes de integração em um projeto Spring MVC
  • 12.4 Ciclo de vida do contexto Spring nos testes de integração
  • 12.5 Profiles e properties do projeto Spring nos testes de integração
  • 13 Testes unitários em projetos Android
  • 13.1 Estudo de caso
  • 13.2 Configurando um projeto Android para trabalhar com Groovy
  • 13.3 Testando o projeto Android
  • 13.4 Limitações do Spock no Android
  • 14 Apêndice A - Guia de Groovy para desenvolvedores Java
  • 14.1 Como funciona o Groovy
  • 14.2 Características e recursos do Groovy
  • 15 Apêndice B - Perguntas frequentes sobre o Spock
  • 16 Referências

veja mais detalhes

Autor

José Yoshiriro

Bacharel em sistemas de informação e especialista em engenharia de sistemas pelo IESAM. Ministra aulas em cursos de nível universitário desde 2010. É líder pedagógico e consultor de projetos na Faculdade BandTec Digital School onde trabalha desde 2014. Já foi professor da FIAP e conteudista da FIAP ON entre 2017 e 2018. Trabalha com desenvolvimento/arquitetura de software desde 2004, tendo trabalhado principalmente com Java, Groovy e JavaScript. Já atuou na criação e/ou evolução de sistemas usados em empresas como BrasilPrev, City Bank, Caixa Econômica Federal, Rico Home Broker, BNP e Tribunal de Justiça do Pará. Já criou/contribuiu em projetos open source para a Apache.org e Grails.org. Detém certificações internacionais Oracle (SCJP 6, SCWCD 5 e SCBCD 5), PMI (ACP e CAPM) e OMG (OCUP). Possui vários artigos sobre programação publicados no Brasil e EUA e já palestrou em vários eventos de tecnologia como FISL (2015), Virada Tecnológica de São Paulo de 2017 e TDC São Paulo (2014, 2015 e 2017).

Dados do produto

Número de páginas:
250
ISBN:
978-85-94188-87-8

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter