________________________________ > From: Peter Otten <__pete...@web.de> >To: tutor@python.org >Sent: Thursday, April 3, 2014 3:13 PM >Subject: Re: [Tutor] unittest decorators > > >Albert-Jan Roskam wrote: > >> The unittest module has some really handy decorators: @unittest.skip >> and @unittest.skipIf. I use the former for temporary TODO or FIXME things, >> but I use the latter for a more permanent thing: >> @unittest.skipif(sys.version_info()[0] > 2). Yet, in the test summary you >> just see error, skipped, failed. Is it possible to not count the skipIf >> tests? > >You mean like this? > >$ cat skiptest.py >import unittest >import sys > >def hide_if(condition): > def g(f): > return None if condition else f > return g > >class T(unittest.TestCase): > @hide_if(sys.version_info[0] > 2) > def test_two(self): > pass > @hide_if(sys.version_info[0] < 3) > def test_three(self): > pass > >if __name__ == "__main__": > unittest.main() >$ python skiptest.py -v >test_two (__main__.T) ... ok > >---------------------------------------------------------------------- >Ran 1 test in 0.000s > >OK >$ python3 skiptest.py -v >test_three (__main__.T) ... ok > >---------------------------------------------------------------------- >Ran 1 test in 0.000s > >OK >$
Wow, yes, this is exactly what I meant! Thank you! Now the "bad/code smell/TODO" skips are separated from the legitimately skipped tests. >> (other than using if-else inside the test --not really a bad >> solution either ;-)? > >I don't understand that remark. Ok, that was indeed a bit cryptic, sorry. I meant something like this: class T(unittest.TestCase): def test_combined(self): if(sys.version_info[0] > 2: pass else: pass _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor