Opinions on Cucumber within Bulletproof R&D are split between love and loathing. There's a reasonable argument to be made that Cucumber adds a layer of abstraction to tests that increases maintenance of tests and slows down development. On the other hand, Cucumber is great for capturing high level user requirements in a …
After months of hard work, we've got Cucumber 2.0 into a state where it can run its own tests and (usually) give us useful feedback. We've just merged this code into the master branch.
There's still a lot to do. The specs all pass, but only approximately 50 / 150 scenarios are passing. The 100 that fail are tagged out with @ wip-new-core while we get them into a passing state.
The decision to move this code into master was taken because we've been getting pull requests …
Integrated tests have their place, but it's impossible to test everything through all the layers. This results in slow builds - a typical syndrome in Rails projects.
The Rails way makes sense for smaller projects. What I'm disagreeing with is using "The Rails way" in bigger, …
Cucumber's new Core
This summer my main coding project has been to re-write the guts of Cucumber. Steve Tooke and I have been pairing on a brand new gem, cucumber-core that will become the inner hexagon of Cucumber v2.0. We've imported some code from the existing project, but the majority is brand new code. We use spikes sometimes, but all the code in the master branch has been written test-first. We generally make small, frequent, commits and we've …
Hillary Hueter demonstrates how to validate user interfaces with. Learn how to write scripts that automate common functions (clicking links, selecting options from a list, filling out forms, etc.) and how to use Watir in Cucumber or tests.
Bonus content: download the slides from this talk.
README: Staging and Production environments
The staging and production environment sections (one section per environment) should provide any information a developer might need to know about these environments.
Information you might want to include is:
Which server is the application …
…Ext JS-related helpers, I ended up with specs that read almost as good as Cucumber features, at the same time written in a real programming language, not Gherkin:
describe "Actions component", -> it "should handle clicking a button", -> click button "Simple action" expectToSee header "Simple action triggered"
it "should show certain buttons disabled", -> expectDisabled button "Disabled action"
it "should …
You can test just about anything with Cucumber. We certainly have, and in Cucumber Recipes we'll show you how to apply our hard-won field experience to your own projects. Once you've mastered the basics, this book will show you how to get the most out of Cucumber--from specific situations to advanced test-writing advice. With over forty practical recipes, you'll test desktop, web, mobile, and server applications across a variety of platforms. This book gives you tools that …
/ Cucumber for testing
Skinny models, controllers, and a service layer
But his metaphor breaks down a little, because the second stack isn't really a stack:
A considerable minority uses a stack like this. It's important that the Stack isn't exact: you might not use Cucumber at all, for example, or maybe you don't have a service layer.
On the (private, but cheap) Ruby , I came up with … "Parley" email list
…Kintama tests themselves, which would also happen if they were written as strings within Cucumber.
Writing Kintama acceptance tests in Test/Unit
Thankfully, we can make some big improvements without having to lose any of the speed or editor-friendliness of the tests. Here's an example of one of the new Kintama "usage" tests, which are a suite of acceptance tests written to demonstrate the behaviour of various features:
def test_should_pass_when_all_tests_pass context …