[TIP] paramterized or generative tests [was nose2: the nosening]

Michael Foord fuzzyman at voidspace.org.uk
Thu Aug 5 18:56:07 PDT 2010


On 06/08/2010 02:49, Jesse Noller wrote:
> On Thu, Aug 5, 2010 at 9:31 PM, Michael Foord<fuzzyman at voidspace.org.uk>  wrote:
>    
>> On 06/08/2010 02:23, Jesse Noller wrote:
>>      
>>> [snip...]
>>> ps: If nose2/unittest2 could find it in it's shiny new innocent heart
>>> to say, have support for test generators; I'd die happy.
>>>
>>>        
>> Well there's another discussion :-)
>>
>> It would be very simple to support parameterized tests (of some form), where
>> the number of tests can be known at test load time. Supporting generative
>> tests - where the tests are generated at *test run time* is uglier.
>>
>> Would parameterized tests, where the tests are all generated at test load
>> time, suffice or do you have a use case for generative tests where the tests
>> have to be generated whilst the tests are running and not when the tests are
>> loaded?
>>
>> Michael
>>      
> For me? To be honest, 98% of my (and the people around me) use cases
> are the parameterized case - the test generator syntax is just pure
> awesome (Ok, so I really like it) tests generated at run time tends to
> rub most people wrong :)
>    

Ok. Good syntax is generally a good thing, and there is no reason why a 
generator couldn't be called at test load time to generate the tests - 
perhaps in conjunction with a decorator so we don't have to do horrible 
introspection to determine if something is a test generator or not.

Could you give me an example usage please, so I can think about how to 
support it (probably initially as a plugin).

All the best,

Michael

> jesse
>    


-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.





More information about the testing-in-python mailing list