
Talks and Tutorials
==========================

Books
---------------------------------------------

- `pytest Quick Start Guide, by Bruno Oliveira (2018)
  <https://www.packtpub.com/web-development/pytest-quick-start-guide>`_.

- `Python Testing with pytest, by Brian Okken (2017)
  <https://pragprog.com/book/bopytest/python-testing-with-pytest>`_.

- `Python Testing with pytest, Second Edition, by Brian Okken (2022)
  <https://pragprog.com/titles/bopytest2/python-testing-with-pytest-second-edition>`_.

Talks and blog postings
---------------------------------------------

- Training: `pytest - simple, rapid and fun testing with Python <https://www.youtube.com/watch?v=ofPHJrAOaTE>`_, Florian Bruhin, PyConDE 2022

- `pytest: Simple, rapid and fun testing with Python, <https://youtu.be/cSJ-X3TbQ1c?t=15752>`_ (@ 4:22:32), Florian Bruhin, WeAreDevelopers World Congress 2021

- Webinar: `pytest: Test Driven Development für Python (German) <https://bruhin.software/ins-pytest/>`_, Florian Bruhin, via mylearning.ch, 2020

- Webinar: `Simplify Your Tests with Fixtures <https://blog.jetbrains.com/pycharm/2020/08/webinar-recording-simplify-your-tests-with-fixtures-with-oliver-bestwalter/>`_, Oliver Bestwalter, via JetBrains, 2020

- Training: `Introduction to pytest - simple, rapid and fun testing with Python <https://www.youtube.com/watch?v=CMuSn9cofbI>`_, Florian Bruhin, PyConDE 2019

- Abridged metaprogramming classics - this episode: pytest, Oliver Bestwalter, PyConDE 2019 (`repository <https://github.com/obestwalter/abridged-meta-programming-classics>`__, `recording <https://www.youtube.com/watch?v=zHpeMTJsBRk&feature=youtu.be>`__)

- Testing PySide/PyQt code easily using the pytest framework, Florian Bruhin, Qt World Summit 2019 (`slides <https://bruhin.software/talks/qtws19.pdf>`__, `recording <https://www.youtube.com/watch?v=zdsBS5BXGqQ>`__)

- `pytest: recommendations, basic packages for testing in Python and Django, Andreu Vallbona, PyBCN June 2019 <https://www.slideshare.net/AndreuVallbonaPlazas/pybcn-pytest-recomendaciones-paquetes-bsicos-para-testing-en-python-y-django>`_.

- pytest: recommendations, basic packages for testing in Python and Django, Andreu Vallbona, PyconES 2017 (`slides in english <http://talks.apsl.io/testing-pycones-2017/>`_, `video in spanish <https://www.youtube.com/watch?v=K20GeR-lXDk>`_)

- `pytest advanced, Andrew Svetlov (Russian, PyCon Russia, 2016)
  <https://www.youtube.com/watch?v=7KgihdKTWY4>`_.

- `Pythonic testing, Igor Starikov (Russian, PyNsk, November 2016)
  <https://www.youtube.com/watch?v=_92nfdd5nK8>`_.

- `pytest - Rapid Simple Testing, Florian Bruhin, Swiss Python Summit 2016
  <https://www.youtube.com/watch?v=rCBHkQ_LVIs>`_.

- `Improve your testing with Pytest and Mock, Gabe Hollombe, PyCon SG 2015
  <https://www.youtube.com/watch?v=RcN26hznmk4>`_.

- `Introduction to pytest, Andreas Pelme, EuroPython 2014
  <https://www.youtube.com/watch?v=LdVJj65ikRY>`_.

- `Advanced Uses of py.test Fixtures, Floris Bruynooghe, EuroPython
  2014 <https://www.youtube.com/watch?v=IBC_dxr-4ps>`_.

- `Why i use py.test and maybe you should too, Andy Todd, Pycon AU 2013
  <https://www.youtube.com/watch?v=P-AhpukDIik>`_

- `3-part blog series about pytest from @pydanny alias Daniel Greenfeld (January
  2014) <https://daniel.roygreenfeld.com/pytest-no-boilerplate-testing.html>`_

- `pytest: helps you write better Django apps, Andreas Pelme, DjangoCon
  Europe 2014 <https://www.youtube.com/watch?v=aaArYVh6XSM>`_.

- `Testing Django Applications with pytest, Andreas Pelme, EuroPython
  2013 <https://www.youtube.com/watch?v=aUf8Fkb7TaY>`_.

- `Testes pythonics com py.test, Vinicius Belchior Assef Neto, Plone
  Conf 2013, Brazil <https://www.youtube.com/watch?v=QUKoq2K7bis>`_.

- `Introduction to py.test fixtures, FOSDEM 2013, Floris Bruynooghe
  <https://www.youtube.com/watch?v=bJhRW4eZMco>`_.

- `pytest feature and release highlights, Holger Krekel (GERMAN, October 2013)
  <http://pyvideo.org/video/2429/pytest-feature-and-new-release-highlights>`_

- `pytest introduction from Brian Okken (January 2013)
  <http://pythontesting.net/framework/pytest-introduction/>`_

- pycon australia 2012 pytest talk from Brianna Laugher (`video <https://www.youtube.com/watch?v=DTNejE9EraI>`_, `slides <https://www.slideshare.net/pfctdayelise/funcargs-other-fun-with-pytest>`_, `code <https://gist.github.com/3386951>`_)
- `pycon 2012 US talk video from Holger Krekel <https://www.youtube.com/watch?v=9LVqBQcFmyw>`_

- `monkey patching done right`_ (blog post, consult `monkeypatch plugin`_ for up-to-date API)

Test parametrization:

- `generating parametrized tests with fixtures`_.
- `test generators and cached setup`_
- `parametrizing tests, generalized`_ (blog post)
- `putting test-hooks into local or global plugins`_ (blog post)

Assertion introspection:

- `(07/2011) Behind the scenes of pytest's new assertion rewriting
  <http://pybites.blogspot.com/2011/07/behind-scenes-of-pytests-new-assertion.html>`_

Distributed testing:

- `simultaneously test your code on all platforms`_ (blog entry)

Plugin specific examples:

- `skipping slow tests by default in pytest`_ (blog entry)

- `many examples in the docs for plugins`_

.. _`skipping slow tests by default in pytest`: http://bruynooghe.blogspot.com/2009/12/skipping-slow-test-by-default-in-pytest.html
.. _`many examples in the docs for plugins`: plugins.html
.. _`monkeypatch plugin`: monkeypatch.html
.. _`application setup in test functions with fixtures`: fixture.html#interdependent-fixtures
.. _`simultaneously test your code on all platforms`: https://tetamap.wordpress.com//2009/03/23/new-simultanously-test-your-code-on-all-platforms/
.. _`monkey patching done right`: https://tetamap.wordpress.com//2009/03/03/monkeypatching-in-unit-tests-done-right/
.. _`putting test-hooks into local or global plugins`: https://tetamap.wordpress.com/2009/05/14/putting-test-hooks-into-local-and-global-plugins/
.. _`parametrizing tests, generalized`: https://tetamap.wordpress.com/2009/05/13/parametrizing-python-tests-generalized/
.. _`generating parametrized tests with fixtures`: parametrize.html#test-generators
.. _`test generators and cached setup`: http://bruynooghe.blogspot.com/2010/06/pytest-test-generators-and-cached-setup.html
