Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

Go Behave! A BDD Framework for the Go Programming Language

Loading...

Sign in or sign up now!
9,687
Loading...
Alert icon
Sign in or sign up now!
Alert icon
There is no Interactive Transcript.

Uploaded by on Jan 21, 2010

Google Tech Talk
January 19, 2010

ABSTRACT

Presented by Samuel Tesla.

Gospecify is a behavior-driven development (BDD) framework for Go. Rather than focus on testing every nook and cranny of some code, it helps a programmer produce an executable specification of that code's behavior. Go's syntax allowed gospecify to be almost as expressive as Ruby's rpsec; however, a few tricks had to be used to achieve the best readability. This talk will introduce BDD concepts and demonstrate how to implement them in Go using gospecify.

Samuel Tesla has had a computer at his fingertips his entire life. He started coding at age six as a maintenance programmer: tweaking a BASIC program his father wrote. Since then, he has always had a passion for telling computers what to do, and especially for programming languages. From niche languages like LaTeX and Inform to general purpose languages like C and Perl; static languages like OCaml and Java to dynamic languages like Smalltalk and Lisp; he loves to learn different ways to program. Currently he works for Engine Yard slinging Ruby at the cloud. In his spare time he likes to code, play guitar, and write fiction.

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 5 dislikes

Link to this comment:

Share to:
see all

All Comments (12)

Sign In or Sign Up now to post a comment!
  • This is pretty COOL! thank you for sharing!

  • you are only sweet boy benaughtyman.info

  • Damn, from the title I thought they were talking about Binary Decision Diagrams (BDD), as in The Art of Computer Programming Vol 4, Fascicle 1. =(

  • There's one more BDD framework for Go, called GoSpec. Some differences compared to gospecify:

    9:00 - In GoSpec you can have fields which are used in many tests, and all those tests are executed _concurrently_, but the tests are still completely _isolated_. Read the docs for details.

    20:40 - In GoSpec you don't need to write parameters for every func() closure, so the syntax has less boilerplate.

  • Very nice :-)

  • I have to say the ideas are nice, but the actual code looks weird. It is just an initial feeling I have, but it seems to be this stuff presented here is not the best form to formulate those things in English/Go/Java etc.

  • @llothar68

    That's nothing, mine are labeled

    "index_of_for_loop_methodName_­myName_ClassName_beta"

  • @llothar68

    To each, their own I guess. :.)

  • @caseyburk

    It does look the opposite to me. Identifiers with less then 50 characters are only for mad mens.

    I even call my variable not 'i' but 'index_of_for_loop'

  • That code looks pretty gross to me... Too wordy.

Loading...

0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more