2017-11-10 16 views

답변

1

가상 서버를 사용하지 마십시오. 서버 테스트를 위해 aiohttp에서 제공 한 테스트 클라이언트를 사용하는 것처럼 클라이언트 테스트에 위조 된 서버를 사용하지 마십시오. 가짜 클라이언트의

예 : https://github.com/aio-libs/aiohttp/blob/master/examples/fake_server.py

예는 WebSocket을 사용을 보여주지 않지만 내가 확신 당신이 내 아이디어를 가지고와 WebSocket을에 표시된 접근 방식을 확장 할 수있는 충분한 지식을 가지고했습니다.

[편집] 가짜 서버에 대해 WSGI 세계 테스트에서

가 어렵다 : 적어도 별도의 스레드를 필요로한다. 그것은 작업을 asyncio 꽤 쉽습니다.

따라서 제발 나를 잘못하지 마십시오. 나는 aioresponses 등에 대해 조언하지 않는다, 나는 단지 강조하고 싶다 : asyncio 세계에서 응답 조롱을위한 필요는 매우 낮다.

가짜 서버 기반 접근 방식이 훨씬 더 신뢰할 수 있습니다. 실제 데이터를 조롱 한 것뿐만 아니라 전체 전송 계층을 테스트하고 있습니다.

aioresponse와 같은 라이브러리는 aiohttp 클래스의 개인 속성을 사용하므로 다음 aiohttp 릴리스로 작동이 중단 될 수 있습니다. 또한 드문 유스 케이스에서는 이미 손상되었을 수도 있습니다.

+0

나는 가짜 서버를 해결책으로 사용하려고 생각하고있었습니다. 그러나 그것이 "우수 사례"로 간주되는지 궁금합니다. 감사합니다. 가짜 서버로 간다! sidenote : aioresponses와 같은 라이브러리 사용을 권장하지 않습니까? – sanders

+0

업데이트 된 답변 읽기. –

+0

매우 명확합니다. 많은 감사합니다! 나는 파이썬 전문가 중 일부가 다른 사람들에게 설명하는 시간을 갖는 방법을 좋아합니다. – sanders