Ruby BDD for Java

14
Ruby BDD for Java Developement Saturday, September 20, 2008 Renzo Borgatti

description

WindyCityRails talk I gave about Ruby based tools for testing and building Java projects. Saturday, September 20, 2008 by Renzo Borgatti.

Transcript of Ruby BDD for Java

Page 1: Ruby BDD for Java

Ruby BDD for Java Developement

Saturday, September 20, 2008

Renzo Borgatti

Page 2: Ruby BDD for Java

Me

Java backgroundNow 100% Rails and happy :)

Twitting @reborgBlogging at http://blog.reborg.net

Page 3: Ruby BDD for Java

Test?

Unit testsSpecs (RSpec)

Integration specs (RSpec)Stories (Story Runner)

Browser based (Selenium)

Page 4: Ruby BDD for Java

DSL?

Headless: visit, click, select (Webrat)Selenium based: open, assert_title, type (Selenium on Rails)

On top of your domain: add_to_catalog, post_on_wall

What do they have in common?

Page 5: Ruby BDD for Java

Fast

Slow Integrated Slow

Isolated

Browser Based

Automated Scenarios

Integration Test

Unit Test / Specs

Page 6: Ruby BDD for Java

Other than pure Ruby

Java application (Swing, Web Service, ...)Java web application (Struts, Spring-MVC, ...)Rails front-end and Java back-end application

Page 7: Ruby BDD for Java

Main Ingredients

JRuby http://jruby.codehaus.orgWarbler http://caldersphere.rubyforge.org/warbler

RSpec http://rspec.infoBuildr (or JTestR) http://incubator.apache.org/buildr

Ribs, http://olabini.com/projects/ribs/doc

Page 8: Ruby BDD for Java

Hands-On

Page 9: Ruby BDD for Java

Where the DSL begins?

Page 10: Ruby BDD for Java

DSL on Webrat

Page 11: Ruby BDD for Java

DSL on Selenium-on-Rails

Page 12: Ruby BDD for Java

Conclusions

Ruby based BDD is possible and effective +DSLs are straightforward +

Ruby based building process +Debugging is not easy -

Proficiency in 2 languages -

Page 13: Ruby BDD for Java

Useful Links

http://dannorth.net/whats-in-a-story Dan North exaplining the story format

http://goruco2008.confreaks.com/01_helmkamp.html Bryan Helmkamp’s introduction to Story Driven Development

http://blog.davidchelimsky.net Dave Chelimsky has many introductory articles on his blog

http://www.youtube.com/watch?v=m-nwvB7Up_g Douglas Seller, building a Selenium DSL

Page 14: Ruby BDD for Java

Questions?

Maintenability effort?Story management?When to go DSL?

Duplication and overlap?How defects propagate?

Should I use specs or stories?