Hi Keith,

Both approaches are valid and identical; I personally prefer using yield
because to me it feels more natural.

Cheers,

On Mon, Dec 4, 2017 at 9:49 AM Dr Keith M Franklin <keith.frank...@gmail.com>
wrote:

>
> Good morning/afternoon,
>
> I hope this is the right place to post this.  I’ve been using PyTest for a
> while but recently come across someone else’s fixture which made me wonder
> if I’m doing this right.  Basically I’ve been creating a fixture like and
> adding a finalizer like so:
>
> @pytest.fixture(scope=‘function’)
> def my_fixture(request):
>   # Code that does something e.g. creates a database record
>   rec = DBObject()
>
>   def clean_up():
>       # Code required to clean up the fixture code and return the state
> back to the
>       ...
>   request.addfinalizer(clean_up)
>   return rec
>
>
> However, I’ve seen fixtures written using yield instead e.g.
>
>
> @pytest.fixture(scope=‘function’)
> def my_fixture(request):
>   # Code that does something e.g. creates a database record
>   rec = DBObject()
>   yield rec
>
>   # Code required to clean up the fixture code and return the state back
> to the
>   ...
>
> Can I ask, is there any real difference between the two approaches?  Is
> there a preferred method and if so why?
>
> Thanks in advance for any help.
>
> Keith
> _______________________________________________
> pytest-dev mailing list
> pytest-dev@python.org
> https://mail.python.org/mailman/listinfo/pytest-dev
>
_______________________________________________
pytest-dev mailing list
pytest-dev@python.org
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to