Behaviour-Driven Development em .NET com SpecFlow
SpecFlow é uma ferramenta da família Cucumber que a partir da especificação dos testes ao estilo Given/When/Then (GWT) aplicando a gramática Gherkin gera o código fonte para automação e testes em .NET.
As features são escritas como uma série de cenários, usando a linguagem natural, com gramática formal e definida como Business Readable, Domain Specific Language.
O SpecFlow suporta as frameworks da família xUnit.
Diagrama UML desenhado com a app web draw.io |
A secção Getting Started explica todo o processo, desde a instalação à execução e automação de testes. O pré-requisito é ter o Visual Studio.
Exemplo de especificação em Gherkin
Feature: Addition
In order to calculate totals
As a user
I want to calculate the sum of multiple numbers
Scenario: Add two numbers
Given I have entered 10 into the calculator
And I have entered 50 into the calculator
When I press add
Then the result should be 60 on the screen
Código gerado pelo SpecFlow (C#) para o passo "Given"
[Given("I have entered (.*) into the calculator")]
public void GivenIHaveEnteredSomethingIntoTheCalculator(int number)
{
calculator = new Calculator();
calculator.Enter(number);
}
Exemplo Prático
Relacionado: Os três pilares dos testes e qualidade Agile, Do requisito à user story
Referências: Effective Tests: Test First, Automated Acceptance Testing with SpecFlow and Gherkin
Licença CC BY-SA 4.0
Silvia Pinhão Lopes, 5.1.18
Sem comentários: