Kaydet (Commit) d59e44a5 authored tarafından Ezio Melotti's avatar Ezio Melotti

Merged revisions 78511 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78511 | ezio.melotti | 2010-02-28 05:11:07 +0200 (Sun, 28 Feb 2010) | 1 line

  Pep8ify test names in the examples.
........
üst b1e94e8a
...@@ -226,9 +226,9 @@ command line. For example, the last two lines may be replaced with:: ...@@ -226,9 +226,9 @@ command line. For example, the last two lines may be replaced with::
Running the revised script from the interpreter or another script produces the Running the revised script from the interpreter or another script produces the
following output:: following output::
testchoice (__main__.TestSequenceFunctions) ... ok test_choice (__main__.TestSequenceFunctions) ... ok
testsample (__main__.TestSequenceFunctions) ... ok test_sample (__main__.TestSequenceFunctions) ... ok
testshuffle (__main__.TestSequenceFunctions) ... ok test_shuffle (__main__.TestSequenceFunctions) ... ok
---------------------------------------------------------------------- ----------------------------------------------------------------------
Ran 3 tests in 0.110s Ran 3 tests in 0.110s
...@@ -345,32 +345,32 @@ mechanism:: ...@@ -345,32 +345,32 @@ mechanism::
self.widget.dispose() self.widget.dispose()
self.widget = None self.widget = None
def testDefaultSize(self): def test_default_size(self):
self.assertEqual(self.widget.size(), (50,50), self.assertEqual(self.widget.size(), (50,50),
'incorrect default size') 'incorrect default size')
def testResize(self): def test_resize(self):
self.widget.resize(100,150) self.widget.resize(100,150)
self.assertEqual(self.widget.size(), (100,150), self.assertEqual(self.widget.size(), (100,150),
'wrong size after resize') 'wrong size after resize')
Here we have not provided a :meth:`~TestCase.runTest` method, but have instead Here we have not provided a :meth:`~TestCase.runTest` method, but have instead
provided two different test methods. Class instances will now each run one of provided two different test methods. Class instances will now each run one of
the :meth:`test\*` methods, with ``self.widget`` created and destroyed the :meth:`test_\*` methods, with ``self.widget`` created and destroyed
separately for each instance. When creating an instance we must specify the separately for each instance. When creating an instance we must specify the
test method it is to run. We do this by passing the method name in the test method it is to run. We do this by passing the method name in the
constructor:: constructor::
defaultSizeTestCase = WidgetTestCase('testDefaultSize') defaultSizeTestCase = WidgetTestCase('test_default_size')
resizeTestCase = WidgetTestCase('testResize') resizeTestCase = WidgetTestCase('test_resize')
Test case instances are grouped together according to the features they test. Test case instances are grouped together according to the features they test.
:mod:`unittest` provides a mechanism for this: the :dfn:`test suite`, :mod:`unittest` provides a mechanism for this: the :dfn:`test suite`,
represented by :mod:`unittest`'s :class:`TestSuite` class:: represented by :mod:`unittest`'s :class:`TestSuite` class::
widgetTestSuite = unittest.TestSuite() widgetTestSuite = unittest.TestSuite()
widgetTestSuite.addTest(WidgetTestCase('testDefaultSize')) widgetTestSuite.addTest(WidgetTestCase('test_default_size'))
widgetTestSuite.addTest(WidgetTestCase('testResize')) widgetTestSuite.addTest(WidgetTestCase('test_resize'))
For the ease of running tests, as we will see later, it is a good idea to For the ease of running tests, as we will see later, it is a good idea to
provide in each test module a callable object that returns a pre-built test provide in each test module a callable object that returns a pre-built test
...@@ -378,14 +378,14 @@ suite:: ...@@ -378,14 +378,14 @@ suite::
def suite(): def suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('testDefaultSize')) suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('testResize')) suite.addTest(WidgetTestCase('test_resize'))
return suite return suite
or even:: or even::
def suite(): def suite():
tests = ['testDefaultSize', 'testResize'] tests = ['test_default_size', 'test_resize']
return unittest.TestSuite(map(WidgetTestCase, tests)) return unittest.TestSuite(map(WidgetTestCase, tests))
...@@ -396,8 +396,8 @@ populating it with individual tests. For example, :: ...@@ -396,8 +396,8 @@ populating it with individual tests. For example, ::
suite = unittest.TestLoader().loadTestsFromTestCase(WidgetTestCase) suite = unittest.TestLoader().loadTestsFromTestCase(WidgetTestCase)
will create a test suite that will run ``WidgetTestCase.testDefaultSize()`` and will create a test suite that will run ``WidgetTestCase.test_default_size()`` and
``WidgetTestCase.testResize``. :class:`TestLoader` uses the ``'test'`` method ``WidgetTestCase.test_resize``. :class:`TestLoader` uses the ``'test'`` method
name prefix to identify test methods automatically. name prefix to identify test methods automatically.
Note that the order in which the various test cases will be run is Note that the order in which the various test cases will be run is
...@@ -605,8 +605,8 @@ Test cases ...@@ -605,8 +605,8 @@ Test cases
def suite(): def suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('testDefaultSize')) suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('testResize')) suite.addTest(WidgetTestCase('test_resize'))
return suite return suite
Here, we create two instances of :class:`WidgetTestCase`, each of which runs a Here, we create two instances of :class:`WidgetTestCase`, each of which runs a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment