[TIP] Unittest Changes
fuzzyman at voidspace.org.uk
Mon Jul 21 06:29:59 PDT 2008
Nicolas Chauvat wrote:
> On Sun, Jul 20, 2008 at 10:16:43PM +0100, Michael Foord wrote:
>> The biggest way I can think of improving unittest is to add automatic
>> test discovery:
>> unittests.discover_tests(path='.', pattern='test*.py', recurse=True)
>> This will simply search the path provided (defaulting to the current
>> directory) matching test files based on the pattern.
>> With appropriate changes to unittest when run as __main__ so that you
>> can do:
>> python -m unittest [<directory> [<filter>]]
>> Along with this a 'run_tests' function that takes any number of modules,
>> test cases and test suites and consolidates them into a single test
>> suite and runs them (defaulting to use TextTestRunner).
>> Another change will be the improvement of failure message for
>> assertEquals. When comparing long strings it will show a diff, when
>> comparing containers it will show you the members that are different
>> (lists, sets, dictionaries).
> We already have code that does this on top of unittest.
Same at Resolver Systems. :-)
Although I doubt I can open source our code, so when I come to it I'll
take a look at yours first.
> It is part of the logilab.common library. The command is named pytest
> and the extension to TestCase is logilab.common.testlib.TestCase. We
> have been writing our tests with this since before the nose project
> started and never had the time to see what could be merged or if
> replacing our stuff with nose would be a better option.
> If you want (parts of) it, it is yours. Since we had no contribution
> to this code, if you tell us that your aim is to put the code in the
> standard library and ask us, we may even change its license (at the
> moment, this is GPL).
> Hope this helps,
More information about the testing-in-python