Size: a a a

2021 April 17

DS

David Shiko in SPb Python
Вот, вещдоки даже собрал
источник

YV

Yuliya Volkova in SPb Python
@david_shiko  pytest-asyncio тут непричем
источник

YV

Yuliya Volkova in SPb Python
и фаст апи тоже
источник

YV

Yuliya Volkova in SPb Python
@david_shiko  только что проверила https://pastebin.com/wixZG7z3 тест успешно проходит, с вот таким фастапи кодом - https://pastebin.com/5rwZ129e это значит проблема в твоих роутах
источник

YV

Yuliya Volkova in SPb Python
attached to a different loop обычно когда ты где-то левый луп еще делаешь
источник

YV

Yuliya Volkova in SPb Python
а
источник

YV

Yuliya Volkova in SPb Python
ну так понятно
источник

YV

Yuliya Volkova in SPb Python
у тебя if name == "__main__" or 1:
источник

YV

Yuliya Volkova in SPb Python
что это такое - руки оторвать
источник

YV

Yuliya Volkova in SPb Python
у тебя сервер в тестах запускается
источник

YV

Yuliya Volkova in SPb Python
or 1 - всегда True
источник

DS

David Shiko in SPb Python
Я в тестировании новичок, но мне оно позарез нужно, 30 ендпонйтов вручную уже тяжело тестить)
В async я тоже не профи, но я вручную лупы не создаю и не запускаю, все автоматом.
Без тестов этот ендпойнт работает, т.е. есть запрос и есть ответ со статусом 201.
'or 1' это что-бы приложение создавалось из файла тестов, временный фикс
источник

YV

Yuliya Volkova in SPb Python
'or 1' это что-бы приложение создавалось из файла тестов, - это не надо делать
источник

YV

Yuliya Volkova in SPb Python
у тебя сервер запускается командой  uvicorn.run( и он запускает event_loop
источник

YV

Yuliya Volkova in SPb Python
а ты еще и в тестах запускаешь event_loop
источник

A

Alexander in SPb Python
убери вообще uvicorn из кода. Запускай свой код снаружи
uvicorn main:app
источник

DS

David Shiko in SPb Python
Все как в доках, но если именно это краегоульный камень, - то есть обычный синхронный клиент (в доках описано) буду применять его
https://fastapi.tiangolo.com/tutorial/testing/
источник

A

Alexander in SPb Python
в секции
if __name__ == "__main__":

оставь просто запуск asyncio.run
источник

A

Alexander in SPb Python
ну и да
if __name__ == "__main__" or 1:
— это прям фу-фу-фу
источник

YV

Yuliya Volkova in SPb Python
там uvloop для запуска  фас апи же у него
источник