обновите вопрос и тему, как я узнал больше. Без conftest.py "pytest --help" возвращает содержимое справки. С conftest.py "pytest --help" возвращает это
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/_pytest/main.py", line 174, in wrap_session
INTERNALERROR> config._do_configure()
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/_pytest/config/__init__.py", line 588, in _do_configure
INTERNALERROR> self.hook.pytest_configure.call_historic(kwargs=dict(config=self))
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/hooks.py", line 280, in call_historic
INTERNALERROR> res = self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/manager.py", line 67, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/manager.py", line 61, in <lambda>
INTERNALERROR> firstresult=hook.spec_opts.get('firstresult'),
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/callers.py", line 201, in _multicall
INTERNALERROR> return outcome.get_result()
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/callers.py", line 76, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/pluggy/callers.py", line 180, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/Users/user/git/py3env/lib/python3.6/site-packages/_pytest/fixtures.py", line 980, in result
INTERNALERROR> return function(*args, **kwargs)
INTERNALERROR> TypeError: pytest_configure() missing 1 required positional argument: 'config'
my conftest.py
def pytest_addoption(parser):
parser.addoption("--user", action="store", default="admin", help="user name")
parser.addoption("--password", action="store", default="password", help="user password")
@pytest.fixture(scope='module')
def pytest_configure(config):
import env
if config.getoption('--user'):
env.user_name = config.getoption('--user')
Conftest.py не обновлялся в течение двух месяцев, но у меня новый ноутбук. Mac High Sierra.
Python 3.6.6 . or 3.7.0
pytest version 3.7.1, or 3.7.0
Крюки - это не арматура, они простые функции, которые pytest
найдет, используя их точные подписи. Итак, чтобы исправить вашу проблему, просто удалите pytest.fixture
decorator с крючка, и вы хорошо пойдете:
def pytest_configure(config):
import env
if config.getoption('--user'):
env.user_name = config.getoption('--user')
pytest_configure
крюк осущ не попадает вconfig
аргумент.