Topic: Why RSpec when you've got Cucumber?
I'm just getting in to doing some grown-up Rails development with BDD. I have my stories written for the first iteration and I have some EPICs as well. I've had my customer write some very general stories which he's done very well. Actually, I'm surprised I've not seen this explicitly covered as a story generation technique but we created some personas and he and I wrote a journey of each role working through a make believe session on the web app. We managed to avoid going into too much UI detail and just focused on what each persona needed to achieve. From this I could extract the short stories in the form "A role can..." on to Pivotal Tracker. The customer and I are working through the stories on PT and creating the acceptance test in the form "Try ...". The "Try... " tests seem to fall neatly into Given/When/THen statements. So far, so good. We've got some relevant cucumber features written for the first iteration.
BUT!!.. the RSpec side of things just seems too detailed. Is it possible that all my testing can be done on the outer Cucumber ring?
In Mike Cohn's "User Stories Applied" book, on page 70 he describes a unit-test that might check to see if a credit card can have the dates February 30th and June 31st. But this is something I could test at the Cucumber level? If it passed Cucumber it passes the whole thing and I can see where the test is failing because I'd have a fail next to the "Try a credit card with an impossible date" scenario.
Perhaps this will all become clear as I get further into BDD but I'd appreciate people's thoughts on where acceptance tests end and unit tests begin.