There is a downside to doing it this way - in case of failure, Nose won't print the traceback for the Exception that was raised, but instead will print a traceback of you calling self.fail(). It's less informative.