VS Code и pytest: Где определен путь вывода junit-xml по умолчанию и почему он существует?

#visual-studio-code #pytest #vscode-debugger

Вопрос:

Я пытаюсь запустить отладочные тесты моего проекта Python внутри интерфейса VS Code. Я следовал инструкциям с веб-сайта VS Code, используя pytest , но при попытке запустить тест вывод не удался:

 ============================= test session starts =============================
platform win32 -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: c:UsersmyUserNameProjectsmyProjectName
plugins: localserver-0.5.0
collected 1 item

myProjectNameteststest_static_analysis.py .                                   [100%]

- generated xml file: C:UsersMYUSERNAMEAppDataLocalTemptmp-26696NTXW7ChqfMEN.xml 
-
============================== 1 passed in 0.18s ==============================
Error: Error: cannot open file:///c:/Users/myUserName/Projects/myProjectName/C. Detail: 
Unable to read file 'c:UsersmyUserNameProjectsmyProjectNameC' (Error: Unable to resolve 
non-existing file 'c:UsersmyUserNameProjectsmyProjectNameC')
Error: Error: cannot open file:///c:/Users/myUserName/Projects/myProjectName/C. Detail: 
Unable to read file 'c:UsersmyUserNameProjectsmyProjectNameC' (Error: Unable to resolve 
non-existing file 'c:UsersmyUserNameProjectsmyProjectNameC')
 

Возможно, у VS-кода нет разрешения на запись в AppData.

Что меня беспокоит, так это почему VS-код запускается pytest с опцией вывода junit-xml? Команда, фактически выполняемая VS-кодом, является:

 c:; cd 'c:UsersmyUserNameProjectsmyProjectName'; amp; 'C:ProgramDataAnaconda3envsvenv-myProjectNamepython.exe' 'c:UsersmyUserName.vscodeextensionsms-python.python-2021.8.1105858891pythonFileslibpythondebugpylauncher' '53774' '--' 'c:UsersmyUserName.vscodeextensionsms-python.python-2021.8.1105858891pythonFilestestlauncher.py' 'c:UsersmyUserNameProjectsmyProjectName' 'pytest' '--override-ini' 'junit_family=xunit1' '--rootdir' 'c:UsersmyUserNameProjectsmyProjectName' '--junit-xml=C:UsersMYUSERNAMEAppDataLocalTemptmp-26696pYh1w3pF2cXx.xml' './myProjectName/tests/test_static_analysis.py::TestStaticAnalysisVesselForceOnLateralCenter::test_pos_surge_on_vessel' 
 

Когда вы входите, Settings > python.testing.pytestArgs он пуст.

  • Где определен этот выходной путь?
  • Как я могу изменить его, чтобы он находился в локальном рабочем каталоге?
  • Нужно ли мне иметь вывод junit-xml? Является ли это обязательным для работы пользовательского интерфейса VS Code?