1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/changeset/2815a3d12bd0/ changeset: 2815a3d12bd0 user: hpk42 date: 2012-06-07 12:39:53 summary: added an example on how to do python2/python3 customized test collection affected #: 1 file diff -r 928db89125925202e651dba1c90032350f44773f -r 2815a3d12bd049d952e213b0748fd7ff849e605b doc/en/example/pythoncollection.txt --- a/doc/en/example/pythoncollection.txt +++ b/doc/en/example/pythoncollection.txt @@ -43,7 +43,7 @@ $ py.test --collectonly =========================== test session starts ============================ - platform linux2 -- Python 2.7.1 -- pytest-2.2.4 + platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev1 collecting ... collected 2 items <Module 'check_myapp.py'><Class 'CheckMyApp'> @@ -82,7 +82,7 @@ . $ py.test --collectonly pythoncollection.py =========================== test session starts ============================ - platform linux2 -- Python 2.7.1 -- pytest-2.2.4 + platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev1 collecting ... collected 3 items <Module 'pythoncollection.py'><Function 'test_function'> @@ -92,3 +92,55 @@ <Function 'test_anothermethod'> ============================= in 0.00 seconds ============================= + +customizing test collection to find all *.py files +--------------------------------------------------------- + +.. regendoc:wipe + +You can easily instruct py.test to discover tests from every python file:: + + + # content of pytest.ini + [pytest] + python_files = *.py + +However, many projects will have a ``setup.py`` which they don't want to be imported. Moreover, there may files only importable by a specific python version. +For such cases you can dynamically define files to be ignored by listing +them in a ``conftest.py`` file:: + + # content of conftest.py + import sys + + collect_ignore = ["setup.py"] + if sys.version_info[0] > 2: + collect_ignore.append("pkg/module_py2.py") + +And then if you have a module file like this:: + + # content of pkg/module_py2.py + def test_only_on_python2(): + try: + assert 0 + except Exception, e: + pass + +and a setup.py dummy file like this:: + + # content of setup.py + 0/0 # will raise exeption if imported + +then a pytest run on python2 will find the one test when run with a python2 +interpreters and will leave out the setup.py file:: + + $ py.test --collectonly + =========================== test session starts ============================ + platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev1 + collecting ... collected 1 items + <Module 'pkg/module_py2.py'> + <Function 'test_only_on_python2'> + + ============================= in 0.01 seconds ============================= + +If you run with a Python3 interpreter the moduled added through the conftest.py file will not be considered for test collection. + 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