У меня есть несколько функций, подобных этой:
URL = 'http://localhost:8080'
def func():
response = urlopen(URL)
return process(response)
И я хочу проверить это с помощью unittest.
Я сделал что-то вроде этого:
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()
При setUp () мои тесты останавливаются, потому что s.handle_request () ждет запроса. Как я могу обойти это? Запустить s.handle_request () в другом потоке? или может быть есть другой
решение?
EDIT:
Я хочу протестировать функцию "func", а не "app_200_hello"