title: cucumber multiple assertions in a step
body: <p>I am trying to validate one block of json data that I receive from server </p>
  
  <p>json consists of information about bunch of orders. An each order includes cost of each part, taxes and total. And it is kind of strict requirement each order contains exactly 4 parts. And each order has three kind of taxes and a total.</p>
  
  <p>I have a step which looks like this </p>
  
  <pre><code>   And "standardorder" includes parts "1..4", taxes "1..3" and total
  </code></pre>
  
  <p>and step implementation is like following. Here @jsonhelper.json is shared state (json for one order) passed from previous step.</p>
  
  <pre><code> And /^"([^"]*)" includes parts "([^"]*)", taxes "([^"]*)" and total$/ do |arg1, arg2, arg3|
      json = @jsonhelper.json
      validkeys = ["total"]
  
      parts = arg2.split('..').map{|d| Integer(d)}
      (parts[0]..parts[1]).each do |i|
          validkeys.push "p#{i}"
      end
  
      taxes = arg3.split('..').map{|d| Integer(d)}
      (taxes[0]..taxes[1]).each do |i|
          validkeys.push "t#{i}"
      end
  
      validkeys.each do |key|
          json[arg1].keys.include?(key).should be_true
      end 
  end
  </code></pre>
  
  <p>Now this script works fine except that if any one key is missing it doesn't state which one is missing. Either it passes or fails as assertions are iterated for each key.</p>
  
  <p>I would like to know if there is any possibility of sending keys which are found ok to result  stream. Thus my intention is to know to which keys are ok and which failed and which one skipped. As such order of keys is not expected in json.</p>
  
  <p>Thanks in advance.</p>