import unittest from .support import LoggingResult class Test_FunctionTestCase(unittest.TestCase): # "Return the number of tests represented by the this test object. For # TestCase instances, this will always be 1" def test_countTestCases(self): test = unittest.FunctionTestCase(lambda: None) self.assertEqual(test.countTestCases(), 1) # "When a setUp() method is defined, the test runner will run that method # prior to each test. Likewise, if a tearDown() method is defined, the # test runner will invoke that method after each test. In the example, # setUp() was used to create a fresh sequence for each test." # # Make sure the proper call order is maintained, even if setUp() raises # an exception. def test_run_call_order__error_in_setUp(self): events = [] result = LoggingResult(events) def setUp(): events.append('setUp') raise RuntimeError('raised by setUp') def test(): events.append('test') def tearDown(): events.append('tearDown') expected = ['startTest', 'setUp', 'addError', 'stopTest'] unittest.FunctionTestCase(test, setUp, tearDown).run(result) self.assertEqual(events, expected) # "When a setUp() method is defined, the test runner will run that method # prior to each test. Likewise, if a tearDown() method is defined, the # test runner will invoke that method after each test. In the example, # setUp() was used to create a fresh sequence for each test." # # Make sure the proper call order is maintained, even if the test raises # an error (as opposed to a failure). def test_run_call_order__error_in_test(self): events = [] result = LoggingResult(events) def setUp(): events.append('setUp') def test(): events.append('test') raise RuntimeError('raised by test') def tearDown(): events.append('tearDown') expected = ['startTest', 'setUp', 'test', 'addError', 'tearDown', 'stopTest'] unittest.FunctionTestCase(test, setUp, tearDown).run(result) self.assertEqual(events, expected) # "When a setUp() method is defined, the test runner will run that method # prior to each test. Likewise, if a tearDown() method is defined, the # test runner will invoke that method after each test. In the example, # setUp() was used to create a fresh sequence for each test." # # Make sure the proper call order is maintained, even if the test signals # a failure (as opposed to an error). def test_run_call_order__failure_in_test(self): events = [] result = LoggingResult(events) def setUp(): events.append('setUp') def test(): events.append('test') self.fail('raised by test') def tearDown(): events.append('tearDown') expected = ['startTest', 'setUp', 'test', 'addFailure', 'tearDown', 'stopTest'] unittest.FunctionTestCase(test, setUp, tearDown).run(result) self.assertEqual(events, expected) # "When a setUp() method is defined, the test runner will run that method # prior to each test. Likewise, if a tearDown() method is defined, the # test runner will invoke that method after each test. In the example, # setUp() was used to create a fresh sequence for each test." # # Make sure the proper call order is maintained, even if tearDown() raises # an exception. def test_run_call_order__error_in_tearDown(self): events = [] result = LoggingResult(events) def setUp(): events.append('setUp') def test(): events.append('test') def tearDown(): events.append('tearDown') raise RuntimeError('raised by tearDown') expected = ['startTest', 'setUp', 'test', 'tearDown', 'addError', 'stopTest'] unittest.FunctionTestCase(test, setUp, tearDown).run(result) self.assertEqual(events, expected) # "Return a string identifying the specific test case." # # Because of the vague nature of the docs, I'm not going to lock this # test down too much. Really all that can be asserted is that the id() # will be a string (either 8-byte or unicode -- again, because the docs # just say "string") def test_id(self): test = unittest.FunctionTestCase(lambda: None) self.assertIsInstance(test.id(), basestring) # "Returns a one-line description of the test, or None if no description # has been provided. The default implementation of this method returns # the first line of the test method's docstring, if available, or None." def test_shortDescription__no_docstring(self): test = unittest.FunctionTestCase(lambda: None) self.assertEqual(test.shortDescription(), None) # "Returns a one-line description of the test, or None if no description # has been provided. The default implementation of this method returns # the first line of the test method's docstring, if available, or None." def test_shortDescription__singleline_docstring(self): desc = "this tests foo" test = unittest.FunctionTestCase(lambda: None, description=desc) self.assertEqual(test.shortDescription(), "this tests foo") 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 |
|