On 10 Set, 17:15, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > 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
This is exactly what I was searching for. Thank you very much. -- http://mail.python.org/mailman/listinfo/python-list