[TIP] Guidelines for where to put tests & how to package them

Olemis Lang olemis at gmail.com
Fri Feb 26 12:46:48 PST 2010


On Fri, Feb 26, 2010 at 3:29 PM, Michael Foord
<fuzzyman at voidspace.org.uk> wrote:
> On 26/02/2010 20:12, Olemis Lang wrote:
>>
>> On Fri, Feb 26, 2010 at 3:00 PM, Michael Foord
>> <fuzzyman at voidspace.org.uk>  wrote:
>>
>>> On 26/02/2010 19:52, Olemis Lang wrote:
>>>
>>>>> Probably Tarek and I need to discuss how
>>>>> the setup.py test command should work for distutils2. It should support
>>>>> non-unittest tests as well (I guess?) so specifying a unittest suite is
>>>>> not
>>>>> necessarily ideal.
>>>>
>>>> Well, unittest invokes `suite` callable by default
>>>
>>> Where does unittest invoke suite callable by default?
>>
>> That's what somebody told me when I was back in the school [1]_ (now
>> I'm an old man that forgets things ;o)
>>
>> {{{
>> 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 suite:
>>
>>        def suite():
>>            suite = unittest.TestSuite()
>>            suite.addTest(WidgetTestCase("testDefaultSize"))
>>            suite.addTest(WidgetTestCase("testResize"))
>>            return suite
>> }}}
>>
>> .. [1] Python Unit Testing Framework
>>          (http://pyunit.sourceforge.net/pyunit.html)
>
> Right, that section of the documentation is unhelpful (and is still in the
> unittest documentation until I get around to revamping it - which includes
> removing that section).
>

{{{
>>> from unittest import TestCase as TC, main
>>> class MyTC(TC):
...   def test_fail(self):
...     self.fail()
...
>>> def suite():
...     from unittest import TestSuite as TS
...     suite = TS()
...     suite.addTest(MyTC("test_fail"))
...     return suite
...
>>> main()
F
======================================================================
FAIL: test_fail (__main__.MyTC)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<stdin>", line 3, in test_fail
AssertionError

----------------------------------------------------------------------
Ran 1 test in 0.000s
}}}

so it works, and that happens since sooo long that ...

If that's gonna change , some people might cry (not /me, I use
`test_suite` ;o) so ...

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:



More information about the testing-in-python mailing list