Functional BDD at Cuke Up
Upcoming SlideShare
Loading in...5
×
 

Functional BDD at Cuke Up

on

  • 898 views

Functional BDD talk demonstrating the TickSpec .Net framework at the Cuke Up (Cucumber) conference

Functional BDD talk demonstrating the TickSpec .Net framework at the Cuke Up (Cucumber) conference

Statistics

Views

Total Views
898
Views on SlideShare
898
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Functional BDD at Cuke Up Functional BDD at Cuke Up Presentation Transcript

  • Functional BDD
    Phillip Trelford 2011
    http://trelford.com/blog
    @ptrelford
  • First Steps in BDD on .Net
  • Look no hands
  • Look no hands
  • TickSpec Design Goals
    Platform for Innovation
    Lightweight Flexible Framework
    Extensible Parser
    Support & Leverage F#
    Tick methods
    Modules
    Active Patterns
    Support major test frameworks
    NUnit, xUnit, MbUnit
    Silverlight Unit Test
  • Inception
    <200 lines of code
    Parser
    Regular Expressions
    Given, When, Then
    And or But
    Runner
    Reflection
    Attributed methods
    Monday
    August
    30
    2010
  • TickSpec
  • F#
    Strongly Typed
    Functional
    Object Orientated
    Open Source
    .Net language
    In Visual Studio
  • Syntax
    let x = 1
    letadd (lhs,rhs) = lhs + rhs
    [1;2;3;4] |> List.iter
    (fun item ->puts item)
    raise (Exception("Bang"))
    x =1
    defadd(lhs,rhs) lhs +rhsend
    [1,2,3,4].each
    {|item| puts item}
    raise 'Bang'
    F#
    Ruby
  • Class
    type Person(name,age) =
    memberperson.Name = name
    memberperson.Age = age
    overrideperson.ToString() =
    sprintf"%s %d" name age
    classPerson
    def initialize(name,age)
    @name, @age = name, age
    end
    def name
    @name
    end
    def age
    @age
    end
    defto_s
    "#@name (#@age)"
    end
    end
    F#
    Ruby
  • VS Integration
  • What Next?