<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 16, 2016 at 10:56 AM oliver <<a href="mailto:oliver.schoenborn@gmail.com">oliver.schoenborn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Wed, Nov 16, 2016, 00:23 Florian Bruhin <<a href="mailto:me@the-compiler.org" class="gmail_msg" target="_blank">me@the-compiler.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="gmail_msg">
<br class="gmail_msg">
* oliver <<a href="mailto:oliver.schoenborn@gmail.com" class="gmail_msg" target="_blank">oliver.schoenborn@gmail.com</a>> [2016-11-16 02:32:04 +0000]:<br class="gmail_msg">
> Thanks for the reply Bruno. I've used something like that in some fixtures<br class="gmail_msg">
> (actually returning a closure / lambda which, when called from the test,<br class="gmail_msg">
> returns a configured object), but it seems a little counter-intuitive (the<br class="gmail_msg">
> premise being that fixtures return objects ready to be used). How about<br class="gmail_msg">
> overloading the item operator [], so "def test(fixture[a,b])" would be<br class="gmail_msg">
> implemented in a similar way to annotations like "Map[str, int]" but<br class="gmail_msg">
> fixture[a,b] would allow the fixture function to receive a, b as<br class="gmail_msg">
> parameters.<br class="gmail_msg">
<br class="gmail_msg">
That's invalid Python syntax - fixture is an argument name here, not<br class="gmail_msg">
an object.<br class="gmail_msg"></blockquote></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Ah yes, rats! Then how about via a default value, this could easily be introspected by pytest: </div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">def test(fixture=a): would call fixture(a) <br class="gmail_msg"></div><div class="gmail_msg">def test(fixture=[a,b]): would call fixture(a, b) <br class="gmail_msg"></div></blockquote><div><br></div><div>Not sure if that's not abusing the syntax and confusing to some, after all `fixture=1` seems like `fixture` would be `1`, but in fact could be anything returned by the fixture.</div><div><br></div><div>My opinion is that I would not be a big fan of this.</div><div><br></div><div>Cheers,</div><div>Bruno.</div></div></div>