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
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
Print Friendly and PDF

Sem comentários:

Com tecnologia do Blogger.