Archiwa tagu: SpecFlow

SpecFlow, Entity Framework i SQL Server CE

TL;DR

  1. Zainstaluj SQL Server CE 4.0
  2. Dodaj projekt testowy (wersja .NET 4.0 lub wyższy)
  3. Dodaj do projektu testowego referencje do projektu z modelem
  4. Dodaj do projektu testowego nugetem pakiety:
    1. SpecFlow.xUnit (wersja 2.0)
    2. xunit.runner.visualstudio (wersja 2.1)
    3. EntityFramework.SqlServerCompact (wersja 6.1.3)
  5. W App.config dodaj odpowiedni ConnectionString, np.
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <connectionStrings>
       <add name="DefaultConnection" connectionString="Data Source=d:\test.sdf;Persist Security Info=False;" providerName="System.Data.SqlServerCe.4.0"/>
     </connectionStrings>
    </configuration>
  6. Do projektu dodaj nowy plik z szablonu „SpecFlow Feature File” i napisz scenariusze
  7. Wygeneruj klasę dla kroków scenariuszy i oprogramuj je

c.d.n.

SpecFlow – linki

SpecFlow to narzędzie dla programistów zespołów pracujących przy oprogramowaniu opartym o .NET. Służy do definiowania, określania i uruchamiania automatycznych testów akceptacyjnych w postaci specyfikacji, które są czytelne dla nieprogramistów.

SpecFlow oparty jest na składni Gherkin (choć nieznacznie się od niej różni) i jest częścią ekosystemu (zestawu narzędzi i bibliotek) Cucumber.

Przydatne linki

Podstawy, źródła

Artykuły

Po polsku

SpecFlow – polskie słowa kluczowe

Krótko

Oryginał Po polsku
Feature Właściwość
Background Założenia
Scenario Scenariusz
Scenario Outline
Scenario Template
Szablon scenariusza
Examples
Scenarios
Przykłady
Given Zakładając
Mając
When Jeżeli
Jeśli
Then Wtedy
And Oraz
I
But Ale

Więcej

W SpecFlow scenariusze możemy pisać po polsku. W tym celu należy na początku pliku feature umieścić linijkę:

#language: pl

Kiedy stworzymy plik feature w Visual Studio, zostanie wygenerowany plik z szablonu, który wygląda tak:

Feature: SpecFlowFeature1
  In order to avoid silly mistakes
  As a math idiot
  I want to be told the sum of two numbers

@mytag
Scenario: Add two numbers
  Given I have entered 50 into the calculator
    And I have entered 70 into the calculator
  When I press add
  Then the result should be 120 on the screen

Możemy go przetłumaczyć w ten sposób:

#language: pl

Właściwość: SpecFlowFeature1
  Aby uniknąć śmiesznych błędów
  Jako matematyczny idiota
  Chcę móc obliczyć sumę dwóch liczb

@mójZnacznik
Scenariusz: Dodawanie dwóch liczb
  Zakładając wpisałem 50 do kalkulatora
    I wpisałem 70 do kalkulatora
  Jeżeli wcisnąłem "Dodaj"
  Wtedy na ekranie powinien pojawić się wynik 120

Źródła