Hi--

On Feb 7, 2009, at 7:59 AM, Nick Hoffman wrote:

On 06/02/2009, at 10:00 PM, s.ross wrote:
I did stop writing new controller specs, but we were discussing the use-case for controller specs in the new Cukified world. Supposing you write scenarios that pretty much describe your app, what could possibly go wrong that a controller spec would catch but a cucumber story pass? My environment is not using Selenium or Watir, so any action that is Ajaxey potentially needs a controller spec example. I'm less clear that routing needs to be in the specs, but shoulda makes that stupid-simple, so it's a way to make sure I don't break something embarrassing when I'm goofing around in routes.

I'm starting to think that Cucumber can do 90+% of the heavy lifting, but for describing what kind of response a controller will ship back (json or html), based on the request, user-agent specific stuff. All that would probably have to happen in controller specs.

In response to Jay's post, I test what I'm afraid might fail. I test it to clarify my thinking as I build it. So if it's important that a controller return json in response to an XmlHttp request, then that's part of the spec.

Does this sound reasonable?

When writing Cucumber stories and features for controllers, should you cover every edge case? For example, should you write stories that feed bad or missing data to your controllers, or should that be left to RSpec?
-Nick

Why wouldn't you cover the negative scenario. E.g.:

Feature: Projects dashboard
Scenario: A user who has not set up any projects yet should be sent to the "set up new project now!" page
    Given a user, "Emil" has no projects
    When "Emil" clicks on the "dashboard" link
    Then he sees the "new project" page
    And he sees the greeting "set up new project now!"

Scenario: A user who has one or more projects should be able to examine the list of projects
    Given a user, "Gary" has 1 project
    When "Gary" clicks on the "dashboard" link
    Then he sees the "project list" page

Wouldn't that make sense?
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to