Second printing. For a complete list of updates and fixes, please see errata.
This is the final beta. The book is now indexed and copy-edited. Now it’s on to layout and then the printer!
The book is now final draft complete and heading to production!
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.
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.
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.
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.
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.
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.