0
我試着四處尋找答案,並給了它很多嘗試,但這裏有一些奇怪的事情發生。我在我看來有一些功能是通過AJAX進入JSON數據的。目前我正在嘗試對這些進行一些單元測試。Django和JSON/AJAX測試
在我的測試情況下,我有:
kwargs = {'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'}
url = '/<correct_url>/upload/'
data = {
"id" : p.id
}
c = Client()
response = c.delete(url, data, **kwargs)
content_unicode = response.content.decode('utf-8')
content = json.loads(content_unicode)
p.id僅僅是來自於我使用的模型的整數。
我然後有被測試的功能,這些部分看起來像如下:
def delete_ajax(self, request, *args, **kwargs):
print (request.body)
body_unicode = request.body.decode('utf-8')
print (body_unicode)
body_json = json.loads(body_unicode)
第一打印語句產率:
.....b"{'id': 1}"
另一種:
{'id': 1}
最後我得到第四行的錯誤如下:
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
這裏怎麼回事?我知道正確的JSON格式應該是{"id": 1}
,這就是我從測試用例發送的內容。但一路上單引號引入組合引起我頭痛。
有什麼想法?
謝謝!在你答案之前,我幾乎已經知道了,但你還是更快。內容類型檢查是下一個照顧的事情:) – xtrom0rt