title: Cucumber tests passing when they should not pass
body: <p>I am fairly new to cucumber.  I'm trying to write a test to ensure that a user doesn't create a duplicate tag.  So wrote a feature that reads as follows:</p>
  
  <pre><code>Scenario: Analyst adds a duplicate privacy tag
    Given I have a privacy tag called "Green"
    When I try to create a tag called "Green"
    Then I should be on the new privacy tag page
    And I should see an error message for "Green"
  </code></pre>
  
  <p>My steps are defined thusly:</p>
  
  <pre><code>Given /^I have a privacy tag called "(.*?)"$/ do |tag|
      PrivacyTag.create(:content =&gt; tag)
  end
  
  When /^I try to create a tag called "(.*?)"$/ do |arg1|
      visit new_privacy_tag_path
      fill_in 'privacy_tag[content]', :with =&gt; arg1
      click_button 'Create'
  end
  
  Then /^I should be on the new privacy tag page$/ do
      new_privacy_tag_path
  end
  
  Then /^I should see an error message for "(.*?)"$/ do |arg1|
      page.should have_selector('div', :class =&gt; 'alert alert-error') do |flash|
          flash.should have_content fartknocker
      end
  end
  </code></pre>
  
  <p>So the strange thing is that all of these tests are passing right now.  When you try to create a duplicate privacy tag the application allows it and you end up on the privacy tag index page, the user is not returned to the new_privacy_tag_path.  But the test still passes.  And Cucumber doesn't even blink an eye at the fact that there is no variable defined anywhere called fartknocker and that the word fartknocker doesn't appear on the page anywhere.  The test still passes.  What gives?</p>