0
我正在使用Django-TastyPie開發API。如何使用異步請求測試django API
API是做什麼的?
它檢查服務器是否有兩個或更多的請求,如果是,它交換兩個請求的數據並在7秒延遲後返回一個json響應。
我需要做的是發送多個異步請求到服務器來測試這個API。 我正在使用Django-Unit Test和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()
請sugg EST我的任何解決方案,通過發送臺異步請求
或
任何應用程序,庫或任何這種允許Django開發服務器來處理多個請求異步地