rking wrote: > assert_match(pat, nazirite, "#{nazirite} !~ /#{pat}/") > See that line immediately after the test_quiz(...) line? That's my > custom-provided line. It's kind of buried, but having it is at least > clearer than the lines below, which are a little misleading. That's why I wrote assert_raise_message: http://tinyurl.com/23tlu5 When inventing a new assertion - maybe an arbitrarily complex one - you can't leave its user with "nil should not be nil". You should reflect anything you know into the diagnostic. All assertions should take a 'message' field, for the user to add to the explanation. When a test fails, maximizing the information output helps the user rapidly decide whether to debug the failure, or just revert the code. -- Phlip http://www.oreilly.com/catalog/9780596510657/ "Test Driven Ajax (on Rails)" assert_xpath, assert_javascript, & assert_ajax