나는 이와 같은 몇 가지 기능을 가지고 있습니다.() s.handle_request 요청을 대기 때문에 설치에서사용 wsgiref.simple_server는
from wsgiref.simple_server import make_server
def app_200_hello(environ,start_response):
stdout = StringIO('Hello world')
start_response("200 OK", [('Content-Type','text/plain')])
return [stdout.getvalue()]
s = make_server('localhost', 8080, app_200_hello)
class TestFunc(unittest.TestCase):
def setUp(self):
s.handle_request()
def test1(self):
r = func()
assert r, something
if __name__ == '__main__':
unittest.main()
이() 내 테스트를 중지 :
나는 이런 일을했다. 나는 그걸 어떻게 피할 수 있니? 다른 스레드에서 s.handle_request()를 실행 하시겠습니까? 다른 솔루션이 있습니까?편집 : 나는 당신이 WSGI 응용 프로그램을 테스트하는 경우 없습니다 "app_200_hello"
감사합니다. 그것은 내가 원하는 것처럼 보입니다. 그러나 werkzeug가 너무 큽니다. 클라이언트 클래스는 http://dev.pocoo.org/projects/werkzeug/browser/werkzeug/test.py#L551 werkzeug 패키지의 다른 부분과 독립적입니까? –
아니요 독립적이지는 않지만 개발에만 큰 의존성이 없습니다. 사실 그것은 아주 작습니다. –
오. 나는 얽힌. app_200_hello을 테스트하고 싶지 않습니다. 나는 "func"를 테스트하고 싶다 –