[TIP] Coming changes to unittest2 plugins
Eric Smith
eric at trueblade.com
Mon Sep 27 09:51:20 PDT 2010
[Apologies if you see this (or variations on it) more than once, I'm
having connectivity issues and I'm not sure what's been sent]
> On 03:57 pm, olemis at gmail.com wrote:
>>On Mon, Sep 27, 2010 at 11:38 AM, Michael Foord
>><michael at voidspace.org.uk> wrote:
>>> On 27/09/2010 16:36, holger krekel wrote:
>>>>
>>>>Hi Tarek, Michael,
>>
>>:o)
>>>>On Mon, Sep 27, 2010 at 16:47 +0200, Tarek Ziadé wrote:
>>>>>On Mon, Sep 27, 2010 at 4:33 PM, Michael
>>>>>Foord<michael at voidspace.org.uk>
>>>>> wrote:
>>>>>>package.module:Class
>>>>
>>>>The advantage of this notation is that it's explicit and clear what
>>>>is the module part and what is the object ...
>>>
>>>Isn't the last part always the object? Or am I missing something...
>>>
>>>Michael
>>
>>Migh not always be so
>>
>>{{{
>>#!
>>
>>class MyClass
>> def method1
>> pass
>> class InnerClass
>> def method2
>> pass
>>}}}
>>
>>In this case AFAICR
>>
>>mypkg.mymdl:MyClass
>>mypkg.mymdl:MyClass.method1
>>mypkg.mymdl:MyClass.InnerClass
>>mypkg.mymdl:MyClass.InnerClass.method2
>>
>>CMIIW
>>
>>PS: IMO both sides have some good reasons to choose any alternative
>>(uniformity vs explicitness ...)
>
> But this difference doesn't matter. If someone wants to specify a
> method of an inner class to be used as a plugin - great! As far as I
> can tell, unittest2 doesn't care. The : doesn't add anything.
It's not exactly the same, but I'm using setuptools scripts which have
entry points defined as "a.b.c:d.e". "a.b.c" is a module, "d" is a class,
"e" is a classmethod.
The code generated by zc.recipe.egg looks like:
import a.b.c
a.b.c.d.e()
If you don't know where the module name stops, I don't see how you'd
generate this code.
Again, this might not be the same case as with unittest2 plugins, but I
don't see how you can get rid of colons in the general case in d2.
Eric.
More information about the testing-in-python
mailing list