+++ /dev/null
-import unittest\r
-\r
-from .support import LoggingResult\r
-\r
-\r
-class Test_TestSkipping(unittest.TestCase):\r
-\r
- def test_skipping(self):\r
- class Foo(unittest.TestCase):\r
- def test_skip_me(self):\r
- self.skipTest("skip")\r
- events = []\r
- result = LoggingResult(events)\r
- test = Foo("test_skip_me")\r
- test.run(result)\r
- self.assertEqual(events, ['startTest', 'addSkip', 'stopTest'])\r
- self.assertEqual(result.skipped, [(test, "skip")])\r
-\r
- # Try letting setUp skip the test now.\r
- class Foo(unittest.TestCase):\r
- def setUp(self):\r
- self.skipTest("testing")\r
- def test_nothing(self): pass\r
- events = []\r
- result = LoggingResult(events)\r
- test = Foo("test_nothing")\r
- test.run(result)\r
- self.assertEqual(events, ['startTest', 'addSkip', 'stopTest'])\r
- self.assertEqual(result.skipped, [(test, "testing")])\r
- self.assertEqual(result.testsRun, 1)\r
-\r
- def test_skipping_decorators(self):\r
- op_table = ((unittest.skipUnless, False, True),\r
- (unittest.skipIf, True, False))\r
- for deco, do_skip, dont_skip in op_table:\r
- class Foo(unittest.TestCase):\r
- @deco(do_skip, "testing")\r
- def test_skip(self): pass\r
-\r
- @deco(dont_skip, "testing")\r
- def test_dont_skip(self): pass\r
- test_do_skip = Foo("test_skip")\r
- test_dont_skip = Foo("test_dont_skip")\r
- suite = unittest.TestSuite([test_do_skip, test_dont_skip])\r
- events = []\r
- result = LoggingResult(events)\r
- suite.run(result)\r
- self.assertEqual(len(result.skipped), 1)\r
- expected = ['startTest', 'addSkip', 'stopTest',\r
- 'startTest', 'addSuccess', 'stopTest']\r
- self.assertEqual(events, expected)\r
- self.assertEqual(result.testsRun, 2)\r
- self.assertEqual(result.skipped, [(test_do_skip, "testing")])\r
- self.assertTrue(result.wasSuccessful())\r
-\r
- def test_skip_class(self):\r
- @unittest.skip("testing")\r
- class Foo(unittest.TestCase):\r
- def test_1(self):\r
- record.append(1)\r
- record = []\r
- result = unittest.TestResult()\r
- test = Foo("test_1")\r
- suite = unittest.TestSuite([test])\r
- suite.run(result)\r
- self.assertEqual(result.skipped, [(test, "testing")])\r
- self.assertEqual(record, [])\r
-\r
- def test_expected_failure(self):\r
- class Foo(unittest.TestCase):\r
- @unittest.expectedFailure\r
- def test_die(self):\r
- self.fail("help me!")\r
- events = []\r
- result = LoggingResult(events)\r
- test = Foo("test_die")\r
- test.run(result)\r
- self.assertEqual(events,\r
- ['startTest', 'addExpectedFailure', 'stopTest'])\r
- self.assertEqual(result.expectedFailures[0][0], test)\r
- self.assertTrue(result.wasSuccessful())\r
-\r
- def test_unexpected_success(self):\r
- class Foo(unittest.TestCase):\r
- @unittest.expectedFailure\r
- def test_die(self):\r
- pass\r
- events = []\r
- result = LoggingResult(events)\r
- test = Foo("test_die")\r
- test.run(result)\r
- self.assertEqual(events,\r
- ['startTest', 'addUnexpectedSuccess', 'stopTest'])\r
- self.assertFalse(result.failures)\r
- self.assertEqual(result.unexpectedSuccesses, [test])\r
- self.assertTrue(result.wasSuccessful())\r
-\r
- def test_skip_doesnt_run_setup(self):\r
- class Foo(unittest.TestCase):\r
- wasSetUp = False\r
- wasTornDown = False\r
- def setUp(self):\r
- Foo.wasSetUp = True\r
- def tornDown(self):\r
- Foo.wasTornDown = True\r
- @unittest.skip('testing')\r
- def test_1(self):\r
- pass\r
-\r
- result = unittest.TestResult()\r
- test = Foo("test_1")\r
- suite = unittest.TestSuite([test])\r
- suite.run(result)\r
- self.assertEqual(result.skipped, [(test, "testing")])\r
- self.assertFalse(Foo.wasSetUp)\r
- self.assertFalse(Foo.wasTornDown)\r
-\r
- def test_decorated_skip(self):\r
- def decorator(func):\r
- def inner(*a):\r
- return func(*a)\r
- return inner\r
-\r
- class Foo(unittest.TestCase):\r
- @decorator\r
- @unittest.skip('testing')\r
- def test_1(self):\r
- pass\r
-\r
- result = unittest.TestResult()\r
- test = Foo("test_1")\r
- suite = unittest.TestSuite([test])\r
- suite.run(result)\r
- self.assertEqual(result.skipped, [(test, "testing")])\r
-\r
-\r
-if __name__ == '__main__':\r
- unittest.main()\r