Hi, New with sqlalchemy, i'm trying to unittest my code:
import unittest import os from sqlalchemy.orm.exc import NoResultFound import User SQLITE_FILE = 'test.db' class UserAddTestCase(unittest.TestCase): def setUp(self): ... some code which create the session (removed to be clearer) self.session is stored def tearDown(self): if os.path.exists(self.testfile ): os.remove(self.testfile ) def test_add_user(self): user1 = User('user1_fn', 'user1_sn') self.session.add(user1) self.assertEqual(self.session.query(User).count(), 1) 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()) if __name__ == '__main__': unittest.main() The output is: ====================================================================== ERROR: test_add_user (__main__.UserAddTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "models.py", line 30, in test_add_user self.assertRaises(NoResultFound, self.session.query(User).filter(User.firstname == "other_fn").one()) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6.5- py2.6.egg/sqlalchemy/orm/query.py", line 1651, in one raise orm_exc.NoResultFound("No row was found for one()") NoResultFound: No row was found for one() ---------------------------------------------------------------------- Ran 1 test in 0.234s FAILED (errors=1) My code is supposed to raise a NoResultFound exception which is ok but the assertRaises does not catch it and my test fails but should be a success... Anyone could explain me ? thanks a lot -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.