P3.0 (Printing) - 28 March 2014

Internal updates for improved e-reader compatibility and consistency across platforms.

P2.0 (Printing) - 28 January 2013

Second printing. For a complete list of updates and fixes, please see errata.

P1.0 (Printing) - 26 January 2012

  • First printing.

B10.0 - 15 December 2011

This is the final beta. The book is now indexed and copy-edited. Now it’s on to layout and then the printer!

B9.0 - 12 November 2011

The book is now final draft complete and heading to production!

B8.0 - 28 October 2011

  • We’ve added a new chapter based on your feedback, Chapter 10, “Databases.” This chapter explains how important it is to reset the state of any data store between scenarios, and extends the worked example in part 2 to demonstrate how to achieve that in some common situations.
  • We’ve added a preface, setting the scene and helping a reader orient themselves.
  • We’ve reworked the introductory chapter, Chapter 1, “Why Cucumber?,” to incorporate the feedback we’ve had, giving the reader a more broad introduction into what Cucumber is and why it is useful.
  • We’ve simplified the example in the second chapter, Chapter 2, “First Taste,” making the code less technical.
  • We’ve added sections on nested steps and using data tables from Ruby to Chapter 5, “Expressive Scenarios.”

B7.0 - 10 October 2011

We’ve added another chapter to the worked example: “Dealing with Message Queues and Asychronous Components.” In this chapter we take the bank’s system in a more enterprisey direction, and show you how to deal with synchronization issues in your Cucumber tests. You’ll learn the fundamental concepts, then see how to tame flickering scenarios the right way with a practical example.

B6.0 - 26 September 2011

We’ve added a new chapter: The Cucumber Command Line Interface. In this chapter you will learn how to run a subset of your scenarios in several different ways. We will show you how to change Cucumber’s output and create reports. You will also learn how to make Cucumber keep an eye on your Work in Progress (WIP), integrate with Rake, and a couple more tricks.

B5.0 - 13 September 2011

We’ve added a new chapter: When Cucumbers Go Bad. This chapter draws on the rich experience of the authors to give you some great advice on how to make your adoption of Cucumber a success from day one. We look at some of the things that can go wrong after you’ve been using Cucumber for a while, and what you can do to avoid those problems.

B4.0 - 24 August 2011

We’ve added a new chapter: Using Capybara to test AJAX Web Applications. This chapter starts with a gentle introduction to Capybara without any AJAX to get your feet wet. Then we go on to add an AJAX based autocomplete search widget that we’ll test through a browser, using Capybara’s Selenium driver. You’ll learn about how to deal with the asynchronous nature of AJAX and race conditions, use table diffing to compare actual and expected output and get a comparison of the various drivers Capybara has to offer.

B3.0 - 11 August 2011

We’ve added a new chapter: Testing Command Line Applications with Aruba. This chapter introduces aruba—a ruby gem that comes bundled with lots of generic step definitions to test command line applications. You’ll learn how to test what your command line application writes to STDOUT or STDERR, look at the exit status, pass input via STDIN or command line arguments (ARGV) and examine or write files to the file system.

B2.0 - 26 July 2011

We’ve added a new chapter: Testing a REST Web Service. This recipe describes two techniques for testing web services: in-process where the web service is written in Ruby, and out of process where the web service could be written in any language at all. You’ll learn the difference between the two techniques, and how to use Cucumber and HTTParty to automate the web service in either situation.

B1.0 - 13 July 2011

  • First Beta