An Interest In:
Web News this Week
- April 19, 2024
- April 18, 2024
- April 17, 2024
- April 16, 2024
- April 15, 2024
- April 14, 2024
- April 13, 2024
Golden Test: Fazendo testes dos widgets (parte 2)
Golden Test: Fazendo testes dos widgets (parte 2)
Bom, na primeira parte https://blog.flutterando.com.br/golden-test-testando-suas-p%C3%A1ginas-parte-1-a8b2b490f4ea vimos como fazer a configurao inicial do Golden Test e tambm vimos como fazer o teste da pgina completa. Agora nesta parte iremos ver como podemos fazer o testes dos widgets menores.
A primeira diferena logo de cara que ao invs de utilizar o DeviceBuilder() utilizaremos o GoldenBuilder.grid() que na imagem ele ir renderizar o widget como se fosse uma tabela, espera-se dois parmetros o primeiro a columns que ir representar a quantidade de widgets que ser mostrado por linha e o segundo o widthToHeightRatio que a proporo da imagem uma relao proporcional entre a largura e a altura de uma imagem, eu costumo deixar como padro com o valor 1.
Logo em seguida tambm utilizamos o addScenario() que espera uma descrio e o widget.
A segunda diferena que ao invs de utilizarmos o pumpDeviceBuilder(builder) utilizaremos o pumpWidgetBuilder(builder) que assim como o anterior espera o objeto builder.
Agora executando o comando para gerar os snapshots
flutter test --update-goldens
Ele ir gerar a pasta goldens com os snapshots
Posso gerar quantas variaes do meu cenrio eu quiser.
Simulando Erro
Para simular o erro troquei o Icone e o HintText
Agora igual o teste das paginas ir ser gerado uma pasta chamada failure contendo os artefatos dos erros ao rodar
flutter test
E as imagens seguem a mesma logica do artigo anterior
BONUS
As vezes precisamos do contexto para fazer determinados testes, como por exemplo recuperar alguma cor do Tema da aplicao, uma soluo que encontrei foi sempre que necessitar envolver o widget do cenrio com o Builder(), para no ter que ficar adicionando o Builder em todo lugar criei uma extension para fazer isso. Basta adicionar essa extension em seu cdigo e ao invs de utilizar o addScenario utilizar o addScenarioBuilder.
A utilizao dele bem simples, basta ao invs de passar o widget direto ser necessrio passar uma funo que tem como parmetro o context e ele retorna o widget que ser testando.
Entre em nosso discord para interagir com a comunidade: https://discord.com/invite/flutterbrasil
https://linktr.ee/flutterbrasil
Original Link: https://dev.to/flutterbrasil/golden-test-fazendo-testes-dos-widgets-parte-2-5bol
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To