Python 如何使用异步请求测试django API

Python 如何使用异步请求测试django API,python,django,multithreading,multiprocessing,tastypie,Python,Django,Multithreading,Multiprocessing,Tastypie,我正在使用Django TastyPie开发一个API API做什么? 它检查服务器上是否有两个或多个请求,如果有,则交换两个请求的数据,并在延迟7秒后返回json响应 我需要做的是向服务器发送多个异步请求来测试这个API。 我正在使用Django单元测试和Tasty Pie来测试这个功能 问题 Django开发服务器是单线程的,因此不支持异步请求 已尝试解决方案: 我已尝试使用多处理来解决此问题: class MatchResourceTest(ResourceTestCase): def

我正在使用Django TastyPie开发一个API

API做什么?

它检查服务器上是否有两个或多个请求,如果有,则交换两个请求的数据,并在延迟7秒后返回json响应

我需要做的是向服务器发送多个异步请求来测试这个API。 我正在使用Django单元测试和Tasty Pie来测试这个功能

问题

Django开发服务器是单线程的,因此不支持异步请求

已尝试解决方案:

我已尝试使用多处理来解决此问题:

class MatchResourceTest(ResourceTestCase):

def setUp(self):
    super(MatchResourceTest, self).setUp()

    self.user=""
    self.user_list = []
    self.thread_list = []

   # Create and get user
    self.assertHttpCreated(self.api_client.post('/api/v2/user/', format='json', data={'username': '123456','device': 'abc'}))
    self.user_list.append( User.objects.get(username='123456') )

    # Create and get other_user
    self.assertHttpCreated(self.api_client.post('/api/v2/user/', format='json', data={'username': '456789','device': 'xyz'}))
    self.user_list.append( User.objects.get(username='456789') )

def get_credentials(self):
    return self.create_apikey(username=self.user.username, api_key=self.user.api_key.key)

def get_url(self):
    resp = urllib2.urlopen(self.list_url).read()
    self.assertHttpOK(resp)

def test_get_list_json(self):

    for user in self.user_list:
        self.user = user
        self.list_url = 'http://127.0.0.1:8000/api/v2/match/?name=hello'

        t = multiprocessing.Process(target=self.get_url)
        t.start()
        self.thread_list.append( t )

    for t in self.thread_list:
        t.join()
        print ContactCardShare.objects.all()
请建议我通过发送非同步请求来测试此API的任何解决方案

据我所知,任何允许django development server异步处理多个请求的应用程序、库或其他应用程序

我不确定这个测试的格式是否正确。测试
设置
不应该包括测试本身,它应该通过创建条目来进行简单的数据插入。
post
应该有自己的测试

有关示例测试用例,请参见