New issue 649: parametrized test nodes cannot be specified to run on the command line https://bitbucket.org/hpk42/pytest/issue/649/parametrized-test-nodes-cannot-be
Alfredo Deza: If a file called `test_foo.py` has a `test_add` function, the normal notation to call that specific function on the command line is: ``` py.test /path/to/test_foo::test_add ``` But if the function is parametrized the node ids change (seen with high verbosity and `--collect-only`) at runtime, so it makes it impossible to specify any parametrized test to run unless one just points to the whole file (as opposed to a single test node) It would be nice if there was a way to specify such parametrized test nodes to run. Currently the behavior is that py.test will error with: ``` #! (tmp)papaya-2 ~/tmp ᓆ py.test -vvv "/Users/alfredo/tmp/test_fail.py::test_adding" ============================== test session starts ============================== platform darwin -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2 -- /Users/alfredo/.virtualenvs/tmp/bin/python collecting 3 itemsERROR: not found: /Users/alfredo/tmp/test_fail.py::test_adding (no name '/Users/alfredo/tmp/test_fail.py::test_adding' in any of [<Module 'test_fail.py'>]) =============================== in 0.01 seconds ================================ ``` The contents of the test is: ``` #! (tmp)papaya-2 ~/tmp ᓆ cat test_fail.py import pytest @pytest.mark.parametrize(('inp', 'expected'), [ ('2 + 2', 4), ('0 + 0', 0), ('2 + 2.0', 4.0), ]) def test_adding(inp, expected): assert eval(inp) == expected ``` This affects `pytest.vim` as it relies heavily on this particular feature so that a user can run specific tests from Vim. pytest.vim related issue: https://github.com/alfredodeza/pytest.vim/issues/23 _______________________________________________ pytest-commit mailing list pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit