PHP com Testes - Unitários & Funcionais com TDD

De R$ 89,90 por R$ 67,00*

Adicionar no Carrinho
Comprar Agora

Garantia de 30 dias ou seu dinheiro de volta.
*PagSeguro: Parcela minima de R$ 5,00

Certificado: 20h | Total de Aulas: 58

Pré-requisitos


  • Conhecimentos gerais sobre a linguagem PHP e PHP Orientado a Objetos
  • Conhecer os processos básicos sobre banco de dados e relacionamentos


O curso


Neste curso você aprenderá a trazer mais solidez ao seus códigos PHP utilizando testes em suas aplicações, mostraremos neste curso a utilização de testes unitários e funcionais usando o framework PHPUnit. O PHPunit é o framework mais famoso para testes existente hoje na comunidade PHP, e foi criado por Sebastian Bergmann.

Conheceremos ainda a filosofia/metodologia TDD, Test Driven Development, onde aprenderemos a criar nossos códigos baseados/guiados pela criação dos testes antes mesmo da implementação do código real existir de fato. Este metodologia envolve alguns passos e conceitos e veremos isso durante a aplicação de nossas teorias.
O mundo dos testes envolve diversos conceitos e dentre eles veremos ainda Mocks, Stubs e muito mais, melhorando assim nossa base para a aplicação dos conceitos na prática

Prática


Para praticarmos separei três projetos práticos onde os conceitos se aplicam de forma bem interessante, abrindo ainda mais o leque de possibilidades.
Aplicaremos testes na criação de um componente de Rotas, onde criaremos um participante que gerenciará o recebimento das requisições e carregará os responsáveis por responder por aquele acesso.
Criaremos com base nos testes, um componente para nos auxiliar nos CRUDs de nossas aplicações, conhecendo conceitos envolvidos nos testes com a utilização de banco de dados.
E por fim aplicaremos os conceitos testando uma mini API REST, onde mostrarei o workflow que utilizo para testar os retornos e chamadas aos endpoints de uma API.
Com esses três projetos conseguirei mostrar as diversas formas de aplicação de testes em projetos no mundo PHP.

Conteúdo Aulas:
Lançadas |
A Lançar


Introdução

  • 01 - Introdução 0:02:36
  • 02 - Quem Sou Eu? 0:03:09
  • 03 - Ambiente & Links Importantes 0:04:47

Primeiros Passos com Testes

  • 04 - Introdução a Testes 0:06:10
  • 05 - Iniciando Aplicação 0:03:46
  • 06 - Configurnado Ambiente com PHPunit 0:06:17
  • 07 - Executando Primeiros Testes 0:09:47
  • 08 - Concluindo Primeiro Teste 0:10:00

TDD - Test Driven Development

  • 09 - O que é TDD? 0:03:51 |
  • 10 - Iniciando Testes com TDD 0:06:27
  • 11 - Incrementando Carrinho de Compras com TDD 0:07:55
  • 12 - Concluindo Carrinho de Compras com TDD 0:09:35
  • 13 - Considerações Finais Módulo 0:03:55

PHPUnit - Ambiente e Melhorias

  • 14 - Introdução Módulo 0:01:24
  • 15 - Métodos setUp & tearDown 0:08:45
  • 16 - setUpBeforeClass & tearDownAfterClass 0:03:52
  • 17 - AssertPreConditions & AssertPostCondition 0:04:10
  • 18 - Marcando testes como incompletos & pulando testes 0:08:01
  • 19 - PHPUnit Annotations 0:09:16
  • 20 - Concluindo Módulo 0:03:39

Dublês de Teste: Stubs & Mocks

  • 21 - Introdução a Mocks & Stubs 0:03:18
  • 22 - Falando sobre Stubs 0:08:14
  • 23 - Criando Mock Objects (Objetos Falsos) 0:13:13
  • 24 - Concluindo Mock 0:04:22
  • 25 - Conclusões Módulo 0:05:45

Componente - QueryBuilder

  • 26 - Organizando Ambiente para o Componente 0:06:38
  • 27 - Iniciando QueryBuilder 0:05:32
  • 28 - Iniciando Testes da Classe Select 0:10:40
  • 29 - Implementando Primeira Query Select 0:06:03
  • 30 - Adicionando Condições em Nossa Query Select 0:10:17
  • 31 - Adicionando a Possibilidade de Mais Condições Where 0:12:29
  • 32 - OrderBy em Nosso Select 0:05:26
  • 33 - Limit em Nosso Select 0:04:05
  • 34 - Joins em Nosso Select 0:10:29
  • 35 - Selecionando Colunas Desejadas em Nosso Select 0:06:50
  • 36 - Criando Insert Query 0:15:20
  • 37 - Criando Update Query pt1 0:10:36
  • 38 - Criando Update Query pt2 0:05:14
  • 39 - Criando Delete Query 0:06:13
  • 40 - Melhorias no Select Query / Concluindo 0:13:34

Testes com Banco de Dados - QueryBuilder / Executor

  • 41 - Intro 0:05:33
  • 42 - Modificações no QueryBuilder 0:04:44
  • 43 - Iniciando Testes Classe de Execução de Query 0:06:04
  • 44 - Definindo Interface de Execução de Queries 0:06:21
  • 45 - Testando Inserção de Dados 0:06:37
  • 46 - Concluindo Teste de Inserção de Dados 0:10:43
  • 47 - Teste de Recuperação de Dados 0:15:36
  • 48 - Teste de Atualização de Dados 0:10:18
  • 49 - Teste de Remoção de Dados 0:03:13
  • 50 - Concluindo Módulo 0:05:32

Componente - Router

  • 41 - Intro Componente 0:02:31
  • 42 - Iniciando Router por meio dos Testes 0:09:14
  • 43 - Testando Router com o Minimo 0:05:01
  • 44 - Lógica Inicial do Router 0:07:37
  • 45 - Validando Rota Acessada 0:04:15
  • 46 - Manipulando Controllers em nosso Router 0:06:26
  • 47 - Resolução de Controllers no Router 0:08:15
  • 48 - Validando Chamada Errada de Controller 0:05:00

Dúvidas? Comente abaixo ou me mande um email