Link Deploy: https://luizfilipelgs.github.io/StarWars_Planets
Neste projeto criei uma lista com filtros de planetas do universo de Star Wars usando Context API e Hooks para controlar os estados globais como: useState, useContext, useEffect e Hooks customizados.
Nesse projeto utilizei:
-
React.js
-
Componentes Funcionais e Hooks
-
Context API
-
Jest para testes
-
Clone o repositório com o comando git clone:
git clone git@github.com:luizfilipelgs/StarWars_Planets.git
-
Entre no diretório que acabou de criar:
cd StarWars_Planets
-
Para o projeto funcionar na sua máquia, será necessário instalar suas dependências, para isso, utilize npm install:
npm install
🎛 Linter
Para garantir a qualidade do seu código de forma a tê-lo mais legível, de mais fácil manutenção e seguindo as boas práticas de desenvolvimento nós utilizamos neste projeto o linter ESLint
e o Stylelint
. Para rodar o linter localmente em seu projeto, execute o comando abaixo:
npm run lint
npm run lint:styles
🛠 Testes
-
Execução de testes de requisito
Os testes deste projeto foram feitos utilizando o Cypress. É utilizada nos testes a resolução
1366 x 768
(1366 pixels de largura por 768 pixels de altura) para testes de layout. Logo, recomenda-se desenvolver seu projeto usando a mesma resolução, via instalação deste plugin doChrome
para facilitar a configuração dessa resolução, por exemplo.Para o projeto ser validado, todos os testes de comportamento devem passar. É possível testar isso local rodando
npm run cy
. Esse comando roda a suite de testes do Cypress que valida se o fluxo geral e os requisitos funcionais estão funcionando como deveriam. Você pode também executar o comandonpm run cy:open
para ter um resultado visual dos testes executados.Esses testes não consideram o layout de maneira geral, mas sim os atributos e informações corretas, então preste atenção nisso! Os testes te darão uma mensagem de erro caso não estejam passando (seja qual for o motivo). 😉
-
Execução de um teste específico
Para executar somente uma
spec
de testes, você pode selecionar qual delas você deseja após executar o comandonpm run cy:open
. Além disto você pode rodar todas asspecs
clicando no botãoRun all specs
.Atenção: Sua aplicação deve estar rodando para o Cypress no terminal poder testar.
-
Execução de teste de cobertura
Alguns requisitos irão pedir para que você desenvolva testes para sua aplicação. Esses testes serão avaliados através da cobertura de testes.
É possível verificar o percentual da cobertura de testes com o comando
npm run test-coverage
.Você também pode executar
npm run test-coverage -- --collectCoverageFrom=caminho/da/Pagina
para verificar o percentual de cobertura de testes de cada 'Pagina'. Por exemplo, para verificar a cobertura de testes da página deLogin
, execute o comandonpm run test-coverage -- --collectCoverageFrom=src/pages/Login.js
.