Отфильтровать ненужные строки в трассировках стека pytest? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отфильтровать ненужные строки в трассировках стека pytest? [закрыто]

Сообщение Anonymous »

Pytest был установлен с помощью pip install pytest.
Pytest запускается в командной строке (W10), а не из IDE. . Обычно:

Код: Выделить всё

> pytest --random-order -k test_my_test_module
(NB --random-order происходит из пакета pytest-random-order. Я использую этот ключ каждый раз, когда запускаю pytest, без исключения, до такой степени, что я на самом деле запускайте pytest, используя скрипт Python, который делает это)
Я нашел эту страницу и попробовал такие параметры, как --tb=short и -q. Кажется, они не влияют на трассировку стека, которую я ищу. Вот пример:

Код: Выделить всё

Stack (most recent call last):
File "C:\Users\Mike\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Mike\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "D:\apps\Python\virtual_envs\dev_organiser\Scripts\pytest.exe\__main__.py", line 7, in 
sys.exit(console_main())
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\config\__init__.py", line 206, in console_main
code = main()
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\config\__init__.py", line 178, in main
ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\main.py", line 332, in pytest_cmdline_main
return wrap_session(config, _main)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\main.py", line 285, in wrap_session
session.exitstatus = doit(config, session) or 0
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\main.py", line 339, in _main
config.hook.pytest_runtestloop(session=session)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\_pytest\main.py", line 364, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "D:\apps\Python\virtual_envs\dev_organiser\lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
...
(и так далее, и так далее...)
Возможно, по какой-то причине подобные явления специфичны для моей установки. Но мне действительно не нужна вся эта чушь про "плагги" и т.п. каждый раз, когда я пытаюсь отследить, что могло произойти.
Мне было бы полезно узнать, люди обычно получают что-то отличное от этого во время обычных запусков pytest из командной строки. Это нетипичный результат? В настоящее время у меня нет возможности узнать.
В модуле ведения журнала Python есть метод в самом базовом классе Formatter (суперкласс всех остальных), который вы можете реализовать (базовая версия ничего не делает): formatStack(stack_info). Это дает вам один параметр — многострочную строку, которую вы можете редактировать, чтобы удалить ненужные строки. Если у Pytest нет «официального» способа настройки средств форматирования журналов для вырезания неинтересных строк стека, мне придется попытаться выяснить, является ли это одним из способов попробовать что-то сделать.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ack-traces
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отфильтровать ненужные строки в трассировках стека pytest?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать ненужные строки в трассировках стека pytest?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать ненужные строки в трассировках стека pytest?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать ненужные строки в трассировках стека pytest?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать ненужные строки в трассировках стека pytest?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»