Spa2011

Post on 25-May-2015

667 views 0 download

Tags:

description

Workshop run at SPA2011.

Transcript of Spa2011

CreatingCucumbers

customersdiscussioncollaboration

acceptance

languagevalue

Joseph Wilk

Elise Huard

Cucumber FeatureFeature: Be awesome NarrativeScenario: title which rocks Given <some context> And <yet more context> When <some action> And <more actions> Then <some outcome> And <more outcomes>

Not executedExample of

behaviour

Steps

Cucumber FeatureFeature: Be awesome NarrativeScenario: title which rocks Given <some context> And <yet more context> When <some action> And <more actions> Then <some outcome> And <more outcomes>

Not executed

Feature: Be awesome NarrativeScenario: title which rocks Given <some context> And <yet more context> When <some action> And <more actions> Then <some outcome> And <more outcomes>

Example of behaviour

Steps

Ruby

Plaintext

Ruby

Plaintext

Plaintext

Ruby

Ruby

Plaintext

Ruby

Plaintext

Plaintext

Given we like cukes

Ruby

Step

Ruby

Plaintext

Ruby

Plaintext

PlaintextGiven /^we like (.*)$/i do |fruit| fruit.should == 'cukes'end

Given we like cukes

Ruby

Step

Stepdefinition

Ruby

Plaintext

Ruby

Plaintext

PlaintextGiven /^we like (.*)$/i do |fruit| fruit.should == 'cukes'end

regexp match

Given we like cukes

Ruby

Step

Stepdefinition

Cucumber Style?

Problems

Global regular-expressions

Unmaintainable large step-definition files

Flexibility

Coverage vs. Speed tradeoffsComplex regular-expressions are hard to read

Workshop:“The writing’s on the wall”

5mins per example

Gherkin writing workshop

20mins

Go - Weiqi - Baduk

Feature

In order to prevent invalid moves

As a GoVsGO website member

I want the rules of Go enforced.

The Rules of Go

Capture After playing his stone a player removes from the board any stones of his opponent's colour that have no liberties.

SuicideA player cannot place a stone that would result in the capture of their own stones

KoOne may not play in such a way as to recreate the board position following one's previous move

Ending The game ends when both players have passed consecutively

Go Rules

How tasty is your Cucumber?

yum

Learnings

Not Exhaustive, key examples(Maths book)

Does not dictateintegration testing

Allow features to breathe

Why?

The Art of CucumberSeptember 27thSkillsmatters

http://theartofcucumber.eventbrite.com

Thanks

Joseph Wilkhttp://blog.josephwilk.net

@josephwilk

Its been emotional

Elise Huardhttp://jabberwocky.eu

@elise_huard