Как запустить тесты VS Code Python внутри встроенного интерпретатора внешнего приложения?Python

Программы на Python
Ответить
Anonymous
 Как запустить тесты VS Code Python внутри встроенного интерпретатора внешнего приложения?

Сообщение Anonymous »

Я работаю над кодом Python, который должен выполняться внутри внешнего приложения, в которое встроен собственный интерпретатор Python (не системный Python и не виртуальная среда).

Из-за этого я не могу просто запустить код со стандартным расширением Python в VS Code.
Я хотел бы:
  • Написать и поддерживать свой код Python в VS Code
  • Запускайте модульные тесты из VS Code Test Explorer
  • Выполняйте тесты в контексте внешнего приложения, присоединяя VS Code к встроенному процессу Python (или чему-то подобному)
Другими словами, вместо того, чтобы VS Code порождал Python запускать тесты, я хочу, чтобы он либо:
  • Подключался к работающему внешнему процессу,
  • Внедрял или выполнял тесты во встроенном интерпретаторе Python
  • Запускал тесты с помощью какого-то специального средства запуска тестов, которое перенаправляет выполнение внешнему приложению
Это это возможно с помощью VS Code?
Если да, то как я могу настроить расширение Python, адаптер отладки или специальный инструмент для запуска тестов, чтобы это работало?
Если нет, существует ли какой-либо обходной путь или рекомендуемый подход для тестирования встроенного кода Python из VS Code?
Любые указатели, примеры или документация будут очень признательны.
Пример библиотеки, предоставляющей встроенный интерпретатор: https://github.com/CEXT-Dan/PyRx
Код и тестовый пример:

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

from pyrx import Db  # module provided by the application

def open_db(path: str) -> Db.Database:
"""Open a database from the given path."""
db = Db.Database(False, True)
db.readDwgFile(path)
db.closeInput(True)
return db

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

from pyrx import Db

def test_open_db():
db = open_db("test_files/sample.dwg")
assert isinstance(db, Db.Database)
assert db.getFilename().endswith("sample.dwg")
РЕДАКТИРОВАТЬ:
Это код для встраивания Python в приложение C++: https://github.com/CEXT-Dan/PyRx/blob/9 ... yRxApp.cpp Я не знаю много о C++, поэтому единственный способ сделать это — вставить ссылку. Сама библиотека представляет собой модуль расширения для приложений САПР. Чтобы запустить модуль Python, я просто вызываю команду PYLOAD в приложении CAD. Отладка осуществляется с помощью удаленного подключения в debugpy. Однако после дальнейшего анализа я думаю, что это не имеет большого значения. Думаю, мне нужно написать хук для pytest, который будет запрашивать выполнение (или сбор) тестов из внешнего приложения. У меня уже есть код, который запускает тесты удаленно: https://github.com/CEXT-Dan/PyRx/blob/9 ... /runner.py - мне просто нужно как-то подключить его к pytest, чтобы VScode мог фиксировать результаты.

Подробнее здесь: https://stackoverflow.com/questions/798 ... nterpreter
Ответить

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

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

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

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

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