2 new commits in pytest:
https://bitbucket.org/hpk42/pytest/changeset/06ad5978ad95/ changeset: 06ad5978ad95 user: hpk42 date: 2012-12-15 08:09:23 summary: add sentry affected #: 1 file diff -r 328e2be4acf4c5029e82e8f895aa11b050a61fde -r 06ad5978ad95ad3c5e096538e0e6beecb22f37d1 doc/en/projects.txt --- a/doc/en/projects.txt +++ b/doc/en/projects.txt @@ -8,6 +8,7 @@ * `PyPy <http://pypy.org>`_, Python with a JIT compiler, running over `16000 tests <http://buildbot.pypy.org/summary?branch=%3Ctrunk%3E>`_ * the `MoinMoin <http://moinmo.in>`_ Wiki Engine +* `sentry <https://getsentry.com/welcome/>`_, realtime app-maintenance and exception tracking * `tox <http://codespeak.net/tox>`_, virtualenv/Hudson integration tool * `PIDA <http://pida.co.uk>`_ framework for integrated development * `PyPM <http://code.activestate.com/pypm/>`_ ActiveState's package manager https://bitbucket.org/hpk42/pytest/changeset/410d8039f71a/ changeset: 410d8039f71a user: hpk42 date: 2012-12-16 11:28:17 summary: adding an example on how to do interact with the list of collected tests once before any tests are run affected #: 2 files diff -r 06ad5978ad95ad3c5e096538e0e6beecb22f37d1 -r 410d8039f71a7d1c6340ec7f12663dd23ac7a9e3 doc/en/example/index.txt --- a/doc/en/example/index.txt +++ b/doc/en/example/index.txt @@ -29,5 +29,6 @@ simple.txt parametrize.txt markers.txt + special.txt pythoncollection.txt nonpython.txt diff -r 06ad5978ad95ad3c5e096538e0e6beecb22f37d1 -r 410d8039f71a7d1c6340ec7f12663dd23ac7a9e3 doc/en/example/special.txt --- /dev/null +++ b/doc/en/example/special.txt @@ -0,0 +1,57 @@ + +A sesssion-fixture which can look at all collected tests +---------------------------------------------------------------- + +A session-scoped fixture effectively has access to all +collected test items. Here is an example of a fixture +function which walks all collected tests and looks +if their test class defines a ``callme`` method and +calls it:: + + # content of conftest.py + + import pytest + + @pytest.fixture(scope="session", autouse=True) + def callattr_ahead_of_alltests(request): + print "callattr_ahead_of_alltests called" + seen = set([None]) + session = request.node + for item in session.items: + instance = item.getparent(pytest.Instance) + if instance not in seen: + if hasattr(instance.obj, "callme"): + instance.obj.callme() + seen.add(instance) + +test classes may now define a ``callme`` method which +will be called ahead of running any tests:: + + # content of test_module.py + + class TestHello: + def callme(self): + print "callme called!" + + def test_method1(self): + print "test_method1 called" + + def test_method2(self): + print "test_method1 called" + + class TestOther: + def callme(self): + print "callme other called" + def test_other(self): + print "test other" + +If you run this without output capturing:: + + $ py.test -q -s test_module.py + ... + callattr_ahead_of_alltests called + callme called! + callme other called + test_method1 called + test_method1 called + test other Repository URL: https://bitbucket.org/hpk42/pytest/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ py-svn mailing list py-svn@codespeak.net http://codespeak.net/mailman/listinfo/py-svn