title: Should I unit test my Behat step definitions?
body: <p>My team is just beginning to adopt Behat for BDD. We build web apps, and have found that there are some generic web-related step definitions we'd like to share across different products. Stuff that's very similar to those definitions already included in MinkExtension, e.g. 'I should see "&lt;option&gt;" from "&lt;select&gt;" is disabled'.</p>
  
  <p>We've set-up a private composer package so that we can share our custom web step definitions, and a question that has now occurred to us (very meta-!) is whether we should unit test our step definitions.</p>
  
  <p>I'm in two minds about it, and am unsure about the practicality of it. I'm leaning towards not testing them because I think failures in the step definitions ought to be highlighted when scenarios fail, and in that case they should be simple enough to find any errors easily. Still, it does seem like a bit of a gap in the process; step definitions are executable PHP code after all...</p>