top of page
Foto van schrijverBas Dam

Veel gestelde vragen over SpecFlow

Bijgewerkt op: 9 nov 2023


Bij Performance Architecten hebben we de laatste tijd veel te doen met SpecFlow voor ontwikkeling volgens het Behaviour Driven Development proces. En als je eenmaal veel met een onderwerp bezig bent, kan je ook veel vragen verwachten van mensen die er ook mee bezig gaan.


Zo krijg ik regelmatig dezelfde vragen die blijkbaar nog niet helemaal duidelijk zijn in de documentatie of waarvan de antwoorden niet zo 1-2-3 te vinden zijn op het internet. Daarom heb ik een FAQ opgesteld (Frequently Asked Questions oftewel Veel Gestelde Vragen) over de gebruikerskant van SpecFlow.


Hoe kan ik een feature inactief maken?

Gebruik de @ignore tag en features of scenarios worden automatisch overgeslagen


Zijn er meer vooraf gedefinieerde tags?

@wip wordt vaak gebruikt voor Work In Progress en zal als je het goed instelt overgeslagen worden tijdens een automatische run.

@owner:Bas maakt automatisch een Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute aan.

@workitem:123 maakt een Microsoft.VisualStudio.TestTools.UnitTesting.WorkItemAttribute aan voor de betreffende test of testen.


Kan ik comments toevoegen aan mijn steps?

Ja, in principe wordt alles wat je boven een background of scenario (wanneer er geen background is) toevoegt gezien als commentaar. In een scenario of examples tabel kan je commentaar toevoegen met het hekje: #


Kan ik ook een blok commentariëren?

Niet zoals je gewend bent in C# / Java etc met /* */. Je kan wel een stuk selecteren en met de Visual Studio shortcut CTRL+K,C te voorzien van comment hekjes en CTRL+K,U om snel te uncommenten.

Je kan ook een stuk selecteren in “column mode” door de ALT in te houden en met je muiscursor een selectie te maken. Daarna tik je een hekje of haal je het weg om te uncommenten.


Mijn testdata bevat pipes en die wil ik in een tabel kwijt. Hoe doe ik dat?

Pipes kan je escapen met een backslash ervoor: | Pipe\|ndustries |. Dit zal nu gezien worden als 1 woord: Pipe|ndustries

De code editor kan wat raar doen met highlighting, maar het werkt gewoon binnen je testen.


Hoe krijg ik mijn output mooi vormgegeven voor de business?

Je kan Pickles gebruiken, het maakt je feature files op in MarkDown format en kan ook de testresultaten koppelen. Je kan ook het output formaat kiezen: HTML, Word, Excel en meer.


Waar vind ik een handleiding voor SpecFlow?

– Op de site van SpecFlow zelf: http://www.specflow.org/

– Op de Cucumber site: https://cucumber.io/


Hoe kan ik ervoor zorgen dat er voor of na een feature of scenario een actie plaatsvindt?

Maak gebruik van hooks zoals [BeforeScenario] of [AfterFeature]. Je kan ook tags instellen zodat bij [BeforeScenario(“web”)] en alleen bij het gebruik van de @web tag er een browser opgestart wordt voor een scenario. Kijk op de SpecFlow wiki hoe je het precies moet implementeren.


Kan ik ook websites testen met SpecFlow?

SpecFlow is alleen de runner. Je kan daar de functionaliteit aan koppelen die je maar wilt. Bijvoorbeeld de Selenium library voor .NET waarmee je websites kan testen.


Kan ik step libraries herbruiken?

Ja, maar de SpecFlow code generator (die testmethods maakt van je steps) moet wel weten waar die staan. Je moet een stepAssembly node toevoegen aan je app.config om de generator te laten weten welke libraries je wilt gebruiken:

<specFlow>
    <stepAssemblies>
        <stepAssembly assembly="ExternalStepsLib" />
    </stepAssemblies>
</specFlow>

Kijk op de SpecFlow wiki voor meer technische details.

5 weergaven0 opmerkingen

Recente blogposts

Alles weergeven

testRigor

Comentarios


bottom of page