Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 19, 2024 03:03 am GMT

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.

Image description

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

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To