Pytest после выполнения всех тестов выдает ошибку AttributeError: объект ‘ReprExceptionInfo’ не имеет атрибута ‘rsplit’

#python #django #pytest #pytest-django

#python #django #pytest #pytest-django

Вопрос:

Я использую pytest-django пакет для тестирования в проекте. При запуске pytest для моего проекта Django я сталкиваюсь с исключением, которое появляется после выполнения всех тестов, следовательно, не показывает результаты теста. Это произошло в OSX. Ниже приведена полная трассировка ошибки. Ничего, что привело бы к моему коду вообще. Действительно расстраивает.

 Traceback (most recent call last):
  File "/Users/oluwanifemi/Desktop/projects/env/bin/pytest", line 8, in <module>
    sys.exit(console_main())
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/_pytest/config/__init__.py", line 187, in console_main
    code = main()
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/_pytest/config/__init__.py", line 164, in main
    ret = config.hook.pytest_cmdline_main(
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/_pytest/main.py", line 306, in pytest_cmdline_main
    return wrap_session(config, _main)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/_pytest/main.py", line 257, in wrap_session
    session.exitstatus = doit(config, session) or 0
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
    return outcome.get_result()
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pytest_tldr.py", line 293, in pytest_sessionfinish
    self.print(report.longrepr)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/pytest_tldr.py", line 124, in print
    self._tw.write(text)
  File "/Users/oluwanifemi/Desktop/projects/env/lib/python3.8/site-packages/_pytest/_io/terminalwriter.py", line 146, in write
    current_line = msg.rsplit("n", 1)[-1]
AttributeError: 'ReprExceptionInfo' object has no attribute 'rsplit'

  

Ответ №1:

Похоже, проблема с pytest-tldr пакетом.

Обновление его до последней версии должно устранить проблему.

Комментарии:

1. ДА.. У меня самая последняя версия 6.1.2.

2. Эта конкретная проблема, похоже, все еще открыта .

3. Большое вам спасибо 🙂 . Я смог найти свое решение по этой проблеме. Мне просто нужно было установить последнюю версию pytest-tdlr, которая равна 0.2.2, и это было решено. Вы можете внести исправления в ответ, чтобы показать это решение, чтобы я мог принять его как ответ.