Введите подсказки для фикстур pytests, возвращающих методы. ⇐ Python

Программы на Python
Anonymous
Введите подсказки для фикстур pytests, возвращающих методы.

Сообщение Anonymous »

Некоторые из моих приборов pytest возвращают метод. Я хотел бы использовать подсказки типов для всех моих методов. Чтобы сказать, что метод возвращает метод, я могу использовать здесь Callable. Проблема здесь: я теряю функцию автодополнения для аргументов в моей IDE PyCharm.
Без указания типа возвращаемого значения прибора:

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

@pytest.fixture
def create_project():
def create(location: Path, force: bool = True) -> bool:
# ...

return create

def test_project(create_project):
project_created = create_project()
Изображение
С указанной подсказкой типа:

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

@pytest.fixture
def create_project() -> Callable[[Path, bool], bool]:
def create(location: Path, force: bool = True) -> bool:
# ...

return create

def test_project(create_project):
project_created = create_project()
Изображение
Другая проблема с Callable заключается в том, что мне приходится описывать аргументы и тип возвращаемого значения один раз в фикстуре и в каждом тесте, где я использую эту фикстуру.
Так есть ли какие-нибудь более эффективный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/660 ... rn-methods

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