On Sep 10, 7:08 am, billiejoex <[EMAIL PROTECTED]> wrote: > Hi there, > into a module of mine I 'warn' a message if a certain situation > occurs: > > def add_anonymous_user(permissions=('r'): > if 'w' in p: > import warnings > warnings.warn("it's not rencommended assigning 'w' > permission to anonymous user.", RuntimeWarning, stacklevel=2) > > I'd like to test such event from test suite ("fail test if warn is not > raised") but don't know how. > > Any suggestion?
You can (temporarily) change warnings to exceptions for the purposes of testing; see filterwarnings in the warnings module. E.g., import warnings import unittest def foo(): warnings.warn("Foo", RuntimeWarning, stacklevel=2) class testWarn(unittest.TestCase): def setUp(self): warnings.filterwarnings("error") def test_1(self): self.assertRaises(RuntimeWarning, foo) def tearDown(self): warnings.resetwarnings() s = unittest.TestSuite() s.addTest(unittest.makeSuite(testWarn)) if __name__ == '__main__': import sys sys.argv.append('-v') unittest.TextTestRunner(verbosity=2).run(s) -- Hope this helps, Steven -- http://mail.python.org/mailman/listinfo/python-list