It Should Include Only One Of – An RSpec Matcher

I know RSpec tests should typically be implementation/data agnostic, but I ran into a situation in a unit test where I needed to make sure that the results of a query returned only one of the two records that were created during the setup but without knowing which record that would be ahead of time. This was due to the fact that the scoped finder returned a random record. So, I wrote a little matcher that lets me assert that a given array contains only one of a set of specified elements.

You can use it like so:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Previous post Join (implode) an Array of String Values with Formatting
Next post Named redirect routes in Rails 3