v2 of resources API draft

This commit is contained in:
holger krekel
2012-07-16 10:47:41 +02:00
parent 7a90bed19b
commit dbaf7ee9d0
17 changed files with 408 additions and 149 deletions
+32 -9
View File
@@ -61,7 +61,8 @@ factory. Running the test looks like this::
$ py.test test_simplefactory.py
=========================== test session starts ============================
platform linux2 -- Python 2.7.1 -- pytest-2.2.4
platform linux2 -- Python 2.7.3 -- pytest-2.3.0.dev2
plugins: xdist, bugzilla, cache, oejskit, pep8, cov
collecting ... collected 1 items
test_simplefactory.py F
@@ -76,7 +77,7 @@ factory. Running the test looks like this::
E assert 42 == 17
test_simplefactory.py:5: AssertionError
========================= 1 failed in 0.01 seconds =========================
========================= 1 failed in 0.02 seconds =========================
This shows that the test function was called with a ``myfuncarg``
argument value of ``42`` and the assert fails as expected. Here is
@@ -154,7 +155,8 @@ Running this will generate ten invocations of ``test_func`` passing in each of t
$ py.test test_example.py
=========================== test session starts ============================
platform linux2 -- Python 2.7.1 -- pytest-2.2.4
platform linux2 -- Python 2.7.3 -- pytest-2.3.0.dev2
plugins: xdist, bugzilla, cache, oejskit, pep8, cov
collecting ... collected 10 items
test_example.py .........F
@@ -169,7 +171,7 @@ Running this will generate ten invocations of ``test_func`` passing in each of t
E assert 9 < 9
test_example.py:6: AssertionError
==================== 1 failed, 9 passed in 0.02 seconds ====================
==================== 1 failed, 9 passed in 0.03 seconds ====================
Obviously, only when ``numiter`` has the value of ``9`` does the test fail. Note that the ``pytest_generate_tests(metafunc)`` hook is called during
the test collection phase which is separate from the actual test running.
@@ -177,7 +179,8 @@ Let's just look at what is collected::
$ py.test --collectonly test_example.py
=========================== test session starts ============================
platform linux2 -- Python 2.7.1 -- pytest-2.2.4
platform linux2 -- Python 2.7.3 -- pytest-2.3.0.dev2
plugins: xdist, bugzilla, cache, oejskit, pep8, cov
collecting ... collected 10 items
<Module 'test_example.py'>
<Function 'test_func[0]'>
@@ -191,19 +194,39 @@ Let's just look at what is collected::
<Function 'test_func[8]'>
<Function 'test_func[9]'>
============================= in 0.00 seconds =============================
============================= in 0.02 seconds =============================
If you want to select only the run with the value ``7`` you could do::
$ py.test -v -k 7 test_example.py # or -k test_func[7]
=========================== test session starts ============================
platform linux2 -- Python 2.7.1 -- pytest-2.2.4 -- /home/hpk/venv/0/bin/python
platform linux2 -- Python 2.7.3 -- pytest-2.3.0.dev2 -- /home/hpk/venv/1/bin/python
cachedir: /home/hpk/tmp/doc-exec-271/.cache
plugins: xdist, bugzilla, cache, oejskit, pep8, cov
collecting ... collected 10 items
test_example.py:5: test_func[0] PASSED
test_example.py:5: test_func[1] PASSED
test_example.py:5: test_func[2] PASSED
test_example.py:5: test_func[3] PASSED
test_example.py:5: test_func[4] PASSED
test_example.py:5: test_func[5] PASSED
test_example.py:5: test_func[6] PASSED
test_example.py:5: test_func[7] PASSED
test_example.py:5: test_func[8] PASSED
test_example.py:5: test_func[9] FAILED
======================= 9 tests deselected by '-k7' ========================
================== 1 passed, 9 deselected in 0.01 seconds ==================
================================= FAILURES =================================
_______________________________ test_func[9] _______________________________
numiter = 9
def test_func(numiter):
> assert numiter < 9
E assert 9 < 9
test_example.py:6: AssertionError
==================== 1 failed, 9 passed in 0.03 seconds ====================
You might want to look at :ref:`more parametrization examples <paramexamples>`.