BDD com SpecFlow
Visual Studio
Agenda
 SpecFlow
 Ciclo de Teste
 Instalando o Plug-in
 Criando o Projeto de Test
 Configuração
 Features
 TAGs
 Steps
 Hooks
SpecFlow
 SpecFlow tem por premissa criar uma “ponte” entre os analistas e
os desenvolvedores através de regras de negócio legíveis e de
exemplos.
 A missão do SpecFlow é fornecer uma abordagem sem atrito
através da especificação pelo exemplo (Specification-By-Example)
para projetos .NET.
 O SpecFlow é um plug-in para Visual Studio e um Framework de
execução de Acceptance Test Driven Development (ATDD) e
Behavior Driven Development (BDD).
 Ele pode ser integrado ao Nunit, MSTest ou xUnit.
 Não funciona sozinho, ele precisa de uma ferramenta que faça a
integração com o Browser como o Selenium ou WatiN.
Ciclo de Teste
Instalando o Plug-in
Projeto de Teste
Conteúdo incluído pelo template:
 Referência ao MSTest
 Primeira Classe de Teste Unitário pode ser descartada
Configuração
Configurando o SpecFlow
 Definir português como a
linguagem das
funcionalidades
 Definir MSTest como
framework de testes
Features
 São arquivos com a
descrição da
funcionalidade, contexto
e cenários de testes em
texto normal
 Palavras reservadas:
 Funcionalidade /
Contexto / Cenário /
Esquema do Cenário /
Exemplos / Dado /
Quando / Então / E
TAGs
 TAGs são marcas que podem ser aplicadas à
Funcionalidades ou Cenários.
Steps
 Arquivos com a tradução dos passos das
funcionalidades/contextos/cenários de testes em
linguagem .NET
Hooks (Events Bindings)
 Arquivos com “ganchos” de
código para serem executados
sobre determinadas condições
através de notações .NET
 BeforeTestRun/AfterTestRun
 BeforeFeature/AfterFeature
 BeforeScenario/AfterScenario
 BeforeScenarioBlock/AfterSce
narioBlock
 BeforeStep/AfterStep
Perguntas
Referências
 http://www.specflow.org/
 http://watin.org/
 http://docs.seleniumhq.org/
 http://blog.lambda3.com.br/
 http://msdn.microsoft.com/pt-
br/magazine/gg490346.aspx
Obrigado!

Julho 2016 - BDD com SpecFlow

  • 1.
  • 2.
    Agenda  SpecFlow  Ciclode Teste  Instalando o Plug-in  Criando o Projeto de Test  Configuração  Features  TAGs  Steps  Hooks
  • 3.
    SpecFlow  SpecFlow tempor premissa criar uma “ponte” entre os analistas e os desenvolvedores através de regras de negócio legíveis e de exemplos.  A missão do SpecFlow é fornecer uma abordagem sem atrito através da especificação pelo exemplo (Specification-By-Example) para projetos .NET.  O SpecFlow é um plug-in para Visual Studio e um Framework de execução de Acceptance Test Driven Development (ATDD) e Behavior Driven Development (BDD).  Ele pode ser integrado ao Nunit, MSTest ou xUnit.  Não funciona sozinho, ele precisa de uma ferramenta que faça a integração com o Browser como o Selenium ou WatiN.
  • 4.
  • 5.
  • 6.
    Projeto de Teste Conteúdoincluído pelo template:  Referência ao MSTest  Primeira Classe de Teste Unitário pode ser descartada
  • 8.
    Configuração Configurando o SpecFlow Definir português como a linguagem das funcionalidades  Definir MSTest como framework de testes
  • 10.
    Features  São arquivoscom a descrição da funcionalidade, contexto e cenários de testes em texto normal  Palavras reservadas:  Funcionalidade / Contexto / Cenário / Esquema do Cenário / Exemplos / Dado / Quando / Então / E
  • 12.
    TAGs  TAGs sãomarcas que podem ser aplicadas à Funcionalidades ou Cenários.
  • 14.
    Steps  Arquivos coma tradução dos passos das funcionalidades/contextos/cenários de testes em linguagem .NET
  • 16.
    Hooks (Events Bindings) Arquivos com “ganchos” de código para serem executados sobre determinadas condições através de notações .NET  BeforeTestRun/AfterTestRun  BeforeFeature/AfterFeature  BeforeScenario/AfterScenario  BeforeScenarioBlock/AfterSce narioBlock  BeforeStep/AfterStep
  • 18.
  • 19.
    Referências  http://www.specflow.org/  http://watin.org/ http://docs.seleniumhq.org/  http://blog.lambda3.com.br/  http://msdn.microsoft.com/pt- br/magazine/gg490346.aspx
  • 20.

Notas do Editor

  • #3 Forneça uma breve visão geral da apresentação. Descreva o foco principal da apresentação e por que ela é importante. Introduza cada um dos principais tópicos. Para fornecer um roteiro para o público, você pode repita este slide de Visão Geral por toda a apresentação, realçando o tópico específico que você discutirá em seguida.