Из-за этого я не могу просто запустить код со стандартным расширением Python в VS Code.
Я хотел бы:
- Написать и поддерживать свой код Python в VS Code
- Запускайте модульные тесты из VS Code Test Explorer
- Выполняйте тесты в контексте внешнего приложения, присоединяя VS Code к встроенному процессу Python (или чему-то подобному)
- Подключался к работающему внешнему процессу,
- Внедрял или выполнял тесты во встроенном интерпретаторе Python
- Запускал тесты с помощью какого-то специального средства запуска тестов, которое перенаправляет выполнение внешнему приложению
Если да, то как я могу настроить расширение 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
Мобильная версия