import unittest from .support import LoggingResult class Test_TestSkipping(unittest.TestCase): def test_skipping(self): class Foo(unittest.TestCase): def test_skip_me(self): self.skipTest("skip") events = [] result = LoggingResult(events) test = Foo("test_skip_me") test.run(result) self.assertEqual(events, ['startTest', 'addSkip', 'stopTest']) self.assertEqual(result.skipped, [(test, "skip")]) # Try letting setUp skip the test now. class Foo(unittest.TestCase): def setUp(self): self.skipTest("testing") def test_nothing(self): pass events = [] result = LoggingResult(events) test = Foo("test_nothing") test.run(result) self.assertEqual(events, ['startTest', 'addSkip', 'stopTest']) self.assertEqual(result.skipped, [(test, "testing")]) self.assertEqual(result.testsRun, 1) def test_skipping_decorators(self): op_table = ((unittest.skipUnless, False, True), (unittest.skipIf, True, False)) for deco, do_skip, dont_skip in op_table: class Foo(unittest.TestCase): @deco(do_skip, "testing") def test_skip(self): pass @deco(dont_skip, "testing") def test_dont_skip(self): pass test_do_skip = Foo("test_skip") test_dont_skip = Foo("test_dont_skip") suite = unittest.TestSuite([test_do_skip, test_dont_skip]) events = [] result = LoggingResult(events) suite.run(result) self.assertEqual(len(result.skipped), 1) expected = ['startTest', 'addSkip', 'stopTest', 'startTest', 'addSuccess', 'stopTest'] self.assertEqual(events, expected) self.assertEqual(result.testsRun, 2) self.assertEqual(result.skipped, [(test_do_skip, "testing")]) self.assertTrue(result.wasSuccessful()) def test_skip_class(self): @unittest.skip("testing") class Foo(unittest.TestCase): def test_1(self): record.append(1) record = [] result = unittest.TestResult() test = Foo("test_1") suite = unittest.TestSuite([test]) suite.run(result) self.assertEqual(result.skipped, [(test, "testing")]) self.assertEqual(record, []) def test_skip_non_unittest_class_old_style(self): @unittest.skip("testing") class Mixin: def test_1(self): record.append(1) class Foo(Mixin, unittest.TestCase): pass record = [] result = unittest.TestResult() test = Foo("test_1") suite = unittest.TestSuite([test]) suite.run(result) self.assertEqual(result.skipped, [(test, "testing")]) self.assertEqual(record, []) def test_skip_non_unittest_class_new_style(self): @unittest.skip("testing") class Mixin(object): def test_1(self): record.append(1) class Foo(Mixin, unittest.TestCase): pass record = [] result = unittest.TestResult() test = Foo("test_1") suite = unittest.TestSuite([test]) suite.run(result) self.assertEqual(result.skipped, [(test, "testing")]) self.assertEqual(record, []) def test_expected_failure(self): class Foo(unittest.TestCase): @unittest.expectedFailure def test_die(self): self.fail("help me!") events = [] result = LoggingResult(events) test = Foo("test_die") test.run(result) self.assertEqual(events, ['startTest', 'addExpectedFailure', 'stopTest']) self.assertEqual(result.expectedFailures[0][0], test) self.assertTrue(result.wasSuccessful()) def test_unexpected_success(self): class Foo(unittest.TestCase): @unittest.expectedFailure def test_die(self): pass events = [] result = LoggingResult(events) test = Foo("test_die") test.run(result) self.assertEqual(events, ['startTest', 'addUnexpectedSuccess', 'stopTest']) self.assertFalse(result.failures) self.assertEqual(result.unexpectedSuccesses, [test]) self.assertTrue(result.wasSuccessful()) def test_skip_doesnt_run_setup(self): class Foo(unittest.TestCase): wasSetUp = False wasTornDown = False def setUp(self): Foo.wasSetUp = True def tornDown(self): Foo.wasTornDown = True @unittest.skip('testing') def test_1(self): pass result = unittest.TestResult() test = Foo("test_1") suite = unittest.TestSuite([test]) suite.run(result) self.assertEqual(result.skipped, [(test, "testing")]) self.assertFalse(Foo.wasSetUp) self.assertFalse(Foo.wasTornDown) def test_decorated_skip(self): def decorator(func): def inner(*a): return func(*a) return inner class Foo(unittest.TestCase): @decorator @unittest.skip('testing') def test_1(self): pass result = unittest.TestResult() test = Foo("test_1") suite = unittest.TestSuite([test]) suite.run(result) self.assertEqual(result.skipped, [(test, "testing")]) if __name__ == '__main__': unittest.main()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
.__init__.pyo.40009 | File | 906 B | 0644 |
|
.dummy.pyo.40009 | File | 130 B | 0644 |
|
.support.pyo.40009 | File | 5.86 KB | 0644 |
|
.test_assertions.pyo.40009 | File | 13.06 KB | 0644 |
|
.test_break.pyo.40009 | File | 9.91 KB | 0644 |
|
.test_case.pyo.40009 | File | 43.78 KB | 0644 |
|
.test_discovery.pyo.40009 | File | 16.18 KB | 0644 |
|
.test_functiontestcase.pyo.40009 | File | 5.94 KB | 0644 |
|
.test_loader.pyo.40009 | File | 47.9 KB | 0644 |
|
.test_result.pyo.40009 | File | 20.9 KB | 0644 |
|
.test_runner.pyo.40009 | File | 13.78 KB | 0644 |
|
.test_setups.pyo.40009 | File | 28.55 KB | 0644 |
|
.test_skipping.pyo.40009 | File | 9.37 KB | 0644 |
|
.test_suite.pyo.40009 | File | 15.13 KB | 0644 |
|
__init__.py | File | 514 B | 0644 |
|
__init__.pyc | File | 906 B | 0644 |
|
__init__.pyo | File | 906 B | 0644 |
|
dummy.py | File | 50 B | 0644 |
|
dummy.pyc | File | 130 B | 0644 |
|
dummy.pyo | File | 130 B | 0644 |
|
support.py | File | 3.39 KB | 0644 |
|
support.pyc | File | 5.86 KB | 0644 |
|
support.pyo | File | 5.86 KB | 0644 |
|
test_assertions.py | File | 11.51 KB | 0644 |
|
test_assertions.pyc | File | 13.06 KB | 0644 |
|
test_assertions.pyo | File | 13.06 KB | 0644 |
|
test_break.py | File | 9.42 KB | 0644 |
|
test_break.pyc | File | 9.91 KB | 0644 |
|
test_break.pyo | File | 9.91 KB | 0644 |
|
test_case.py | File | 42.79 KB | 0644 |
|
test_case.pyc | File | 43.78 KB | 0644 |
|
test_case.pyo | File | 43.78 KB | 0644 |
|
test_discovery.py | File | 13.24 KB | 0644 |
|
test_discovery.pyc | File | 16.18 KB | 0644 |
|
test_discovery.pyo | File | 16.18 KB | 0644 |
|
test_functiontestcase.py | File | 5.4 KB | 0644 |
|
test_functiontestcase.pyc | File | 5.94 KB | 0644 |
|
test_functiontestcase.pyo | File | 5.94 KB | 0644 |
|
test_loader.py | File | 48.05 KB | 0644 |
|
test_loader.pyc | File | 47.9 KB | 0644 |
|
test_loader.pyo | File | 47.9 KB | 0644 |
|
test_program.py | File | 7.38 KB | 0644 |
|
test_program.pyc | File | 10.23 KB | 0644 |
|
test_program.pyo | File | 10.18 KB | 0644 |
|
test_result.py | File | 18.62 KB | 0644 |
|
test_result.pyc | File | 20.9 KB | 0644 |
|
test_result.pyo | File | 20.9 KB | 0644 |
|
test_runner.py | File | 8.36 KB | 0644 |
|
test_runner.pyc | File | 13.78 KB | 0644 |
|
test_runner.pyo | File | 13.78 KB | 0644 |
|
test_setups.py | File | 16.07 KB | 0644 |
|
test_setups.pyc | File | 28.55 KB | 0644 |
|
test_setups.pyo | File | 28.55 KB | 0644 |
|
test_skipping.py | File | 5.6 KB | 0644 |
|
test_skipping.pyc | File | 9.37 KB | 0644 |
|
test_skipping.pyo | File | 9.37 KB | 0644 |
|
test_suite.py | File | 11.79 KB | 0644 |
|
test_suite.pyc | File | 15.13 KB | 0644 |
|
test_suite.pyo | File | 15.13 KB | 0644 |
|