On 11/01/2011 15:26, Michael Bayer wrote:
On Jan 11, 2011, at 4:56 AM, pr64 wrote:self.assertEqual(self.session.query(User).filter(User.firstname == "user1_fn").count(), 1) self.assertRaises(NoResultFound, self.session.query(User).filter(User.firstname == "other_fn").one())assertRaises receives a callable, which when called raises the expected error. So you need to not actually invoke one(): self.assertRaises(NoResultFound, self.session.query(User). filter(User.firstname == "other_fn"). one )
Yeah, I find this pattern a bit clunky. Nowadays, context managers provide a much nicer way of doing these kinds of tests. Most testing packages have some flavour of this, my testfixtures package has ShouldRaise:
http://packages.python.org/testfixtures/exceptions.html#the-shouldraise-context-manager cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
