ASP.NET Core + SpecFlow: implementando
testes a partir de uma user story
@ Feraie cre sep 20,2020 2 min ead
ASPNET Core + SpecFlow
MULE CO SCAS
COALS A
specflow”
Ja abordei anteriormente o uso do framework SpecFlow no teste de
aplicacées .NETem diversas lives e artigos. O SpecFlow é uma alternativa open source
muito util ao se optar por abordagens como BDD (Behavior Driven Development),
tornando possivel a execugio de testes que validem funcionalidades de um projeto a
partir de user stories.
Recentemente participei da primeira edi¢dio online DevOps Saturday, em que
demonstrei como automatizar os processos de testes, build e deployment de uma API
REST criada com ASP.NET Core, utilizando para isto 0 Visual Studio
2019, GitHub Actions, SpecFlow, xUnit e o Azure App Service. A gravagao desta
palestra pode ser assistida gratuitamente no YouTube (assim como todo o evento):O exemplo que usei nesta ocasido jé foi disponibilizado no GitHub:
ASP.NET Core 3.1 + REST API + Application Insights + SpecFlow + xUnit +
Conversor Temperaturas
Assim como 0 workflow do GitHub Actions empregado na automacao dos testes, build
e publicacdo na nuvem:
GitHub Actions + ASP.
T Core 3.1 + Tests + Azure CLI + Azure App Service
No Visual Studio 2019 sera necessario instalar a extensao do SpecFlow:
Cente
Eee ets ey
Mcteionecs)
NuGetRecommender Prev
Fea coat aaa Catena
Cnet rereNa
com a extensio feature):
stagem a seguir temos a user story que serviu de base para os testes (um arquivo
Ea classe baseada no template Step Definition que mapeia as sentengas da user
storypara cédigo C#, com este tiltimo validando a funcionalidade que converte
temperaturas em Fahrenheit para o equivalente nas escalas Celsius e Kelvin:Os templates para a criagdo dessas estruturas aparecerao logo apés a instalacao da
extensio do SpecFlow para o Visual Studio 2019:Para conseguir trabalhar com as configuragées regionais do Brasil é necessério
adicionar ao projeto de testes o arquivo specflow.json, especificando o valor pt-
BRpara o item feature em language:
Essa extensao conta com funcionalidades extremamente titeis para o trabalho com user
stories, tais como suporte a IntelliSense e debugging a partir dos passos indicados
em uma histéria. No video indicado no inicio deste artigo demonstro esses recursos
disponibilizados pelo SpecFlow.