| # -*- coding: utf-8 -*- |
| |
| |
| def test_no_items_should_not_show_output(testdir): |
| result = testdir.runpytest("--fixtures-per-test") |
| assert "fixtures used by" not in result.stdout.str() |
| assert result.ret == 0 |
| |
| |
| def test_fixtures_in_module(testdir): |
| p = testdir.makepyfile( |
| ''' |
| import pytest |
| @pytest.fixture |
| def _arg0(): |
| """hidden arg0 fixture""" |
| @pytest.fixture |
| def arg1(): |
| """arg1 docstring""" |
| def test_arg1(arg1): |
| pass |
| ''' |
| ) |
| |
| result = testdir.runpytest("--fixtures-per-test", p) |
| assert result.ret == 0 |
| |
| result.stdout.fnmatch_lines( |
| [ |
| "*fixtures used by test_arg1*", |
| "*(test_fixtures_in_module.py:9)*", |
| "arg1", |
| " arg1 docstring", |
| ] |
| ) |
| assert "_arg0" not in result.stdout.str() |
| |
| |
| def test_fixtures_in_conftest(testdir): |
| testdir.makeconftest( |
| ''' |
| import pytest |
| @pytest.fixture |
| def arg1(): |
| """arg1 docstring""" |
| @pytest.fixture |
| def arg2(): |
| """arg2 docstring""" |
| @pytest.fixture |
| def arg3(arg1, arg2): |
| """arg3 |
| docstring |
| """ |
| ''' |
| ) |
| p = testdir.makepyfile( |
| """ |
| def test_arg2(arg2): |
| pass |
| def test_arg3(arg3): |
| pass |
| """ |
| ) |
| result = testdir.runpytest("--fixtures-per-test", p) |
| assert result.ret == 0 |
| |
| result.stdout.fnmatch_lines( |
| [ |
| "*fixtures used by test_arg2*", |
| "*(test_fixtures_in_conftest.py:2)*", |
| "arg2", |
| " arg2 docstring", |
| "*fixtures used by test_arg3*", |
| "*(test_fixtures_in_conftest.py:4)*", |
| "arg1", |
| " arg1 docstring", |
| "arg2", |
| " arg2 docstring", |
| "arg3", |
| " arg3", |
| " docstring", |
| ] |
| ) |
| |
| |
| def test_should_show_fixtures_used_by_test(testdir): |
| testdir.makeconftest( |
| ''' |
| import pytest |
| @pytest.fixture |
| def arg1(): |
| """arg1 from conftest""" |
| @pytest.fixture |
| def arg2(): |
| """arg2 from conftest""" |
| ''' |
| ) |
| p = testdir.makepyfile( |
| ''' |
| import pytest |
| @pytest.fixture |
| def arg1(): |
| """arg1 from testmodule""" |
| def test_args(arg1, arg2): |
| pass |
| ''' |
| ) |
| result = testdir.runpytest("--fixtures-per-test", p) |
| assert result.ret == 0 |
| |
| result.stdout.fnmatch_lines( |
| [ |
| "*fixtures used by test_args*", |
| "*(test_should_show_fixtures_used_by_test.py:6)*", |
| "arg1", |
| " arg1 from testmodule", |
| "arg2", |
| " arg2 from conftest", |
| ] |
| ) |
| |
| |
| def test_verbose_include_private_fixtures_and_loc(testdir): |
| testdir.makeconftest( |
| ''' |
| import pytest |
| @pytest.fixture |
| def _arg1(): |
| """_arg1 from conftest""" |
| @pytest.fixture |
| def arg2(_arg1): |
| """arg2 from conftest""" |
| ''' |
| ) |
| p = testdir.makepyfile( |
| ''' |
| import pytest |
| @pytest.fixture |
| def arg3(): |
| """arg3 from testmodule""" |
| def test_args(arg2, arg3): |
| pass |
| ''' |
| ) |
| result = testdir.runpytest("--fixtures-per-test", "-v", p) |
| assert result.ret == 0 |
| |
| result.stdout.fnmatch_lines( |
| [ |
| "*fixtures used by test_args*", |
| "*(test_verbose_include_private_fixtures_and_loc.py:6)*", |
| "_arg1 -- conftest.py:3", |
| " _arg1 from conftest", |
| "arg2 -- conftest.py:6", |
| " arg2 from conftest", |
| "arg3 -- test_verbose_include_private_fixtures_and_loc.py:3", |
| " arg3 from testmodule", |
| ] |
| ) |
| |
| |
| def test_doctest_items(testdir): |
| testdir.makepyfile( |
| ''' |
| def foo(): |
| """ |
| >>> 1 + 1 |
| 2 |
| """ |
| ''' |
| ) |
| testdir.maketxtfile( |
| """ |
| >>> 1 + 1 |
| 2 |
| """ |
| ) |
| result = testdir.runpytest( |
| "--fixtures-per-test", "--doctest-modules", "--doctest-glob=*.txt", "-v" |
| ) |
| assert result.ret == 0 |
| |
| result.stdout.fnmatch_lines(["*collected 2 items*"]) |