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

.. _`funcargs`: funcargs.html

Tutorial examples and blog postings
---------------------------------------------

.. _`tutorial1 repository`: http://bitbucket.org/hpk42/pytest-tutorial1/
.. _`pycon 2010 tutorial PDF`: http://bitbucket.org/hpk42/pytest-tutorial1/raw/tip/pytest-basic.pdf

Basic usage and fixtures:

- `pytest feature and release highlights (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
  <http://2012.pycon-au.org/schedule/52/view_talk?day=sunday>`_ (`video <http://www.youtube.com/watch?v=DTNejE9EraI>`_, `slides <http://www.slideshare.net/pfctdayelise/funcargs-other-fun-with-pytest>`_, `code <https://gist.github.com/3386951>`_)
- `pycon 2012 US talk video from Holger Krekel <http://www.youtube.com/watch?v=9LVqBQcFmyw>`_ 
- `pycon 2010 tutorial PDF`_ and `tutorial1 repository`_


Fixtures and Function arguments:

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

Test parametrization:

- `generating parametrized tests with funcargs`_ (uses deprecated ``addcall()`` API.
- `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 py.test'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 py.test`_ (blog entry)

- `many examples in the docs for plugins`_

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

Older conference talks and tutorials
----------------------------------------

- `ep2009-rapidtesting.pdf`_ tutorial slides (July 2009):

  - testing terminology
  - basic py.test usage, file system layout
  - test function arguments (funcargs_) and test fixtures
  - existing plugins
  - distributed testing

- `ep2009-pytest.pdf`_ 60 minute py.test talk, highlighting unique features and a roadmap (July 2009)

- `pycon2009-pytest-introduction.zip`_ slides and files, extended version of py.test basic introduction, discusses more options, also introduces old-style xUnit setup, looponfailing and other features.

- `pycon2009-pytest-advanced.pdf`_ contain a slightly older version of funcargs and distributed testing, compared to the EuroPython 2009 slides.

.. _`ep2009-rapidtesting.pdf`: http://codespeak.net/download/py/ep2009-rapidtesting.pdf
.. _`ep2009-pytest.pdf`: http://codespeak.net/download/py/ep2009-pytest.pdf
.. _`pycon2009-pytest-introduction.zip`: http://codespeak.net/download/py/pycon2009-pytest-introduction.zip
.. _`pycon2009-pytest-advanced.pdf`: http://codespeak.net/download/py/pycon2009-pytest-advanced.pdf
