single-quoted string conversion to triple-quoted string
Emile van Sebille
emile at fenx.com
Sat Apr 6 08:32:14 EST 2002
"robin and jim" <robinjim at earthlink.net> wrote in message
news:%_Br8.20276$nt1.1661286 at newsread2.prod.itd.earthlink.net...
>
> Gee, I thought it would be obvious why I was asking such a question
<wink>!
>
> As unit tests run, using the unittest module shipped with Python 2.2,
the
> default behavior is to display a one-line description of each test.
The
> default implementation displays the first line of the test method's
> **docstring**, if available; otherwise the name of the test method
(e.g.,
> "test_my_regular_expression") is displayed.
Yes. This comes from the __doc__ attribute of the method.
>
> Well, yours truly thought he would be clever and add some additional
> information to this docstring as it became available at run time via
the %
> placeholder mechanism. Alas, the result is a single-quoted string
that
> unittest does not recognize as a docstring so it displays the test
method's
> name (e.g., "test_my_regular_expression") instead. I, naively, think
that if
> the single quoted result can be re-converted to a triple-quoted
string, it
> will be recognized by unittest.
>
You could change the __doc__ attribute of the method before testing:
import unittest
class IntegerArithmenticTestCase(unittest.TestCase):
def testAdd(self): ## test method names begin 'test*'
self.assertEquals((1 + 2), 3)
self.assertEquals(0 + 1, 1)
def testMultiply(self):
self.assertEquals((0 * 10), 0)
self.assertEquals((5 * 8), 40)
if __name__ == '__main__':
testvals = [3,7,4,5]
IntegerArithmenticTestCase.__dict__['testAdd'].__doc__ = 'testing
with %s' % testvals
unittest.main()
HTH,
--
Emile van Sebille
emile at fenx.com
---------
More information about the Python-list
mailing list