My app involves the elicitation of tabular data over a succession of
controller/model/view groups. The net result is a numeric outcome
based on the entered data (basically, it’s a spreadsheet on Rails.)
Here is the nub of my question about developing such a thing with
if I test with a simulated browser approach, my scenarios will need
span multiple controller/model/view triads to confirm the expected
result in as many cases as I feel I need to cover. Basically, an
entire app use-cycle is contained in every scenario – this doesn’t
remind me of anything I’ve seen in “The RSpec Book”, for example.
I think I prefer rspec’ing the models directly – it’s concise and I
don’t duplicate simulated browser actions for no particular reason.
What’s the point of confirming that different data in the same set of
fields is submitted successfully, like 20 times? I’ll only simulate
the browser to build the view/controllers and test their behavior when
inputs are inadequate or require differential responses.
My preferred strategy is sort of like saying to the client: 1) here
are all the numeric outcomes we need to confirm, and 2) here in a
smaller, overlapping set are the behavioral outcomes we need to
In short, it seems to me the simulated browser approach (webrat) is
overkill when one is dealing with exhaustive cases and there is no
differential response in the controller or view parts based on them.