2011/5/1 Ronny Pfannschmidt <[email protected]>
> On Sun, 2011-05-01 at 11:59 +0200, Baptiste Lepilleur wrote:
> ...
> > @parametrized( _generate_property_validation_tests, ['good_values'] )
> > def test_property_validation_good_values( scenario_type, dbo_class,
> > value, good_value ):
> > ...
> >
> >
> > The parametrized decorator would
> > call _generate_property_validation_tests( metafunc, ['good_values'] ).
> >
> >
> > Is there a way to do that?
> you can use the pytest.mark tool to make a decorator which annotates
> the value types nicely
>
Great, this is exactly what I wanted!
The pytest_generate_tests function is now generic:
def pytest_generate_tests(metafunc):
if hasattr( metafunc.function, 'parametrized' ):
args = metafunc.function.parametrized.args
kwargs = metafunc.function.parametrized.kwargs
test_generator, args = args[0], args[1:]
test_generator( metafunc, *args, **kwargs )
And the parameter generator function can be specified as I wanted:
@py.test.mark.parametrized( _generate_property_validation_tests,
['good_values'] )
def test_property_validation_good_values( dbo_class, value, good_value ):
...
Here is the source:
http://pastebin.com/kfgvM7L9
The only pitfall to be aware of is that you must always provide two
parameters to @py.test.mark.parametrized otherwise MarkDecorator will think
that the first parameter, which is callable, must be decorated.
Thanks a lot for your help,
Baptiste.
>
> -- Ronny
>
_______________________________________________
py-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/py-dev