Download the PHP package fabtec/test-craft without Composer
On this page you can find all versions of the php package fabtec/test-craft. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fabtec/test-craft
More information about fabtec/test-craft
Files in fabtec/test-craft
Package test-craft
Short Description Pacote para facilitar a criação de testes
License MIT
Informations about the package test-craft
TestCraft
Introdução
O TestCraft é um pacote para Laravel que facilita a criação de classes de teste para controllers do tipo resource. Ele inclui um comando de terminal para geração automática de testes e uma classe base que abstrai as operações comuns de testes em controllers resource.
Este pacote foi desenvolvido com o objetivo de:
- Padronizar a escrita de testes em projetos Laravel.
- Agilizar o processo de desenvolvimento, reduzindo a necessidade de criar testes manualmente.
- Aumentar a eficiência no ciclo de desenvolvimento, garantindo que testes essenciais sejam gerados automaticamente.
Instalação
Instale o pacote executando:
Uso
Comando testcraft:create
O comando principal do pacote é testcraft:create, que gera uma classe de teste para um controlador resource com base no nome da entidade.
Sintaxe:
Parâmetros:
{entity}: Nome da entidade relacionada ao controller (exemplo:User,Product).
O que o Comando Faz:
-
Valida Requisitos:
- Verifica a existência do modelo:
App\Models\{Entity}. - Verifica a existência da fábrica:
Database\Factories\{Entity}Factory. - Verifica a existência do controller:
App\Http\Controllers\{Entity}Controller. - Verifica se as rotas esperadas do padrão resource estão registradas.
- Verifica a existência do modelo:
-
Gera a Classe de Teste:
- Cria a classe no diretório
tests/Feature/Http/Controllers. - O nome do arquivo será
{Entity}ControllerTest.php.
- Cria a classe no diretório
- Configura os Testes:
- Define a classe do modelo (
$modelClass). - Define o prefixo de rota (
$routePrefix). - Inclui métodos para geração de dados utilizados nos testes (
generateData()).
- Define a classe do modelo (
Classe Base: ResourceControllerTestCase
As classes geradas herdam de ResourceControllerTestCase, que abstrai as operações comuns de testes em controllers resource.
Atributos Customizáveis
-
$modelClass:- Define a classe do modelo relacionado ao controller.
- Exemplo:
$routePrefix:- Define o prefixo das rotas relacionadas ao controller.
- Exemplo:
Métodos Customizáveis
-
generateData():- Retorna os dados necessários para criar ou atualizar registros nos testes.
- É utilizado nos testes das rotas
storeeupdate. - Exemplo:
generateCreateData()egenerateUpdateData():- Herdados de
ResourceControllerTestCase. - Delegam por padrão para
generateData()mas podem ser sobrescritos para fornecer dados diferentes. - Exemplo:
- Herdados de
Exemplo de Classe Gerada
Abaixo está um exemplo de uma classe de teste gerada para o ProductController:
O que esta Classe Faz?
- Testa automaticamente as rotas padrão de controllers resource:
index: Lista todos os registros.create: Exibe o formulário de criação.store: Cria um novo registro.show: Exibe um registro específico.edit: Exibe o formulário de edição.update: Atualiza um registro.destroy: Exclui um registro.
Contribuição
Para contribuir com o TestCraft, abra um pull request ou reporte problemas no repositório oficial do GitHub.
Autores
- Henrique Borges dos Santos https://github.com/HenriqueBS0
Licença
Este pacote é licenciado sob a MIT License.