Cucumber.js: Cuke up your JavaScript!

  • 9,304 views
Uploaded on

We're now living the golden age of JavaScript. An increasingly number of people are seeing it as a complete language. Therefore, agile development practices are now being adapted and applied to …

We're now living the golden age of JavaScript. An increasingly number of people are seeing it as a complete language. Therefore, agile development practices are now being adapted and applied to JavaScript code production. However, there has been a lack of support tools in the JS ecosystem, compared to what can be found on other platforms.

A year ago, native BDD solutions similar to Cucumber were almost inexistant. Yet the need for it was manifest. It didn't take me long before I proposed and started hacking on the port of our favourite cucurbitaceae.

Cucumber.js is a native JavaScript implementation of Cucumber. It is a strict port that can run on any JavaScript environment. It runs on Node.js as well as within any browsers, making it virtually serviceable against everything producing JavaScript and HTML (Node.js, Ruby on Rails, PHP, .Net, etc.).

This is an introduction to the young Cucumber.js. After briefly exposing the history and goals of the project, I'll demonstrate how to write features, step definitions, hooks, support code, how to invoke it from both Node.js and browser environments.

Presented at:
- CukeUp! 2012: http://skillsmatter.com/podcast/agile-testing/cucumber-js-cuke-up-your-javascript
- LNUG June 2012: http://lnug.org/

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
9,304
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
59
Comments
0
Likes
11

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ...Cuke up your JavaScript! @cucumber_js
  • 2. Julien Biezemans @jbproshttp://jbpros.net
  • 3. Why?
  • 4. Behaviour-Driven Development
  • 5. Outside-in
  • 6. Tools?
  • 7. RSpec
  • 8. ?
  • 9. Bootstrap
  • 10. Environments
  • 11. Node.js
  • 12. CLI apps
  • 13. Web apps Selenium
  • 14. Headless web apps zombie.js, phantom.js, ...
  • 15. Browser
  • 16. Web apps
  • 17. Cukecipes
  • 18. Getting started
  • 19. features/manage_recipes.feature
  • 20. World
  • 21. app/models/recipe.js
  • 22. Tags
  • 23. Hooks
  • 24. Headless
  • 25. Manyworlds
  • 26. features/support/world.js
  • 27. features/support/persistence_world.js
  • 28. Zombie.js
  • 29. Automated browser
  • 30. Selenium
  • 31. In-browser
  • 32. http://is.gd/cukejs
  • 33. http://is.gd/cukejs
  • 34. Full stack http://is.gd/cukejs
  • 35. http://is.gd/cukejs
  • 36. Anyone can cuke.
  • 37. How to set the context?
  • 38. Photo: Richard Vantielcke - LudImaginary (http://www.ludimaginary.net)
  • 39. Is it stable?
  • 40. itself
  • 41. Node.js & Ruby on Rails
  • 42. .net, PHP, Java, ...
  • 43. The future
  • 44. EX P ER IM Kite EN TA LGherkin Selenium Browser Driver Step Cukestall DSL iFrame App defs Driver Zombie.js Zombie.jsWorld Driver
  • 45. M EN features/support/kite_world.js E RIEXP
  • 46. NT features/support/kite_world.js E R IM P EE X
  • 47. T A EN R IM P EE X Cukestall
  • 48. cucumber-html
  • 49. Catch up with Cucumber.rb
  • 50. Documentation* This book does not exist, obviously.
  • 51. We need you!
  • 52. http://checkthis.com/cukejs-talk