我正在寻找是否可行。如果我在邮递员中发送带有正文的get请求,则会得到与我需要的匹配的结果。
我们可以使用APIClient发送带有正文的获取请求吗?
这是我的代码;
def setUp(self):
self.client = APIClient()
HistoryLog.objects.create(username='User1', log_time='2020-05-05', logon_time='08:00', logout_time='09:00')
HistoryLog.objects.create(username='User2', log_time='2020-05-05', logon_time='08:30', logout_time='10:00')
HistoryLog.objects.create(username='User3', log_time='2020-05-08', logon_time='08:40', logout_time='11:00')
HistoryLog.objects.create(username='User4', log_time='2020-05-10', logon_time='08:50', logout_time='12:00')
def test_get_data(self):
payload = {'date': '2020-05-05', 'start_time': '06:00', 'end_time': '12:00'}
res = self.client.get(HISTORY_URL, payload)
self.assertEqual(res.status_code, status.HTTP_200_OK) -- this passes.
self.assertEqual(len(res.data), 2) -- this always come back that res.data is zero
答案 0 :(得分:0)
有点笨拙,但似乎有效:
def test_get_data(self):
payload = {'date': '2020-05-05', 'start_time': '06:00', 'end_time': '12:00'}
data, content_type = self.client._encode_data(payload, 'json')
res = self.client.generic('get', HISTORY_URL, data, content_type)
...