Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📺 PR discutida no vídeo: https://www.youtube.com/watch?v=CpWWR8Ns9_Y
TL;DR
composer pestify
para rodar apenas testes em Pest;phpunit.xml
está usandoSQLite Memory
;expectations
e funcionalidades do Pest;only()
emTests\Feature\Pest\ShortUrl\MiscTest
deve ser//comentado
na live.Oi Rafael,
Esse PR sugere algumas alterações nos testes escritos com Pest de modo a demonstrar um pouco da sintaxe e recursos deste framework de testes.
O código destes testes foi pensado de acordo com tal objetivo e pode não representar a solução mais indicada no dia a dia ou em um projeto real.
Eu sigo a ideia de que testes também servem como documentação e eu tentei explorar uma das coisas que eu mais gosto no Pest, escrever código muito próximo de linguagem natural.
Modificações realizadas:
composer pestify
para rodar os testes emtests/Feature/Pest/
. Este atalho permitirá vermos apenas os testes em Pest sintaxe, facilitando a didática durante a Live.->only()
só afetam testes escritos usando as funçõestest()
ouit()
. O atalho também permite demonstrar estas funções.phpunit.xml
para usarSQLite Memory
para poder chamar orequiresMysql()
, um Custom Helper que pula testes que dependem do banco ser MySQL.CodeGenerator
paraUrlCode
seguindo a ideia de substântivo para o Action e verbo descritivo para a ação a ser realizada (UrlCode::generate()
).UrlCode
verifica se o código já existe, não permitindo duplicidade.expectations
para ter um exemplo de uso desta funcionalidade. Ex:->toBeUnprocessableEntity()
.get
/post
, promovendo o conceito dePest is Built for Humans
, apresentando um código que pode ser lido como linguagem natural. Ex:shortUrl()->create()
;expectations
ao invés deassertions
com o intuito de demonstração.Um abraço e obrigado pelo conteúdo de altíssima qualidade,
Daniel