我在我的django測試中創建了健全性檢查,並且遇到了一個我已經考慮過的錯誤。不幸的是,我的測試失敗了,當它應該成功。我正在測試一個頁面不存在的情況(404狀態碼)。錯誤消息和代碼如下。當我添加引號時,我收到的404不是'404'。Django的健康測試顯示404不是404
的Django 1.10.2 &的Python 3.4.5
./manage.py test app
Traceback (most recent call last):
File "/tests/dir/tests.py", line 26, in test_404
self.assertIs(response.status_code,404)
AssertionError: 404 is not 404
from django.test import TestCase
from django.test import Client
class SanityCheckTests(TestCase):
def test_404(self):
"""
Http Code 404
"""
client = Client()
response = client.get('/test404')
print(response)
self.assertIs(response.status_code,404)
在Python的確切對象平等「是」運營商的測試。僅僅因爲response.status_code打印爲404並不意味着它是一個值爲404的整數。嘗試打印response.status_code .__ class__或isinstance(response.status_code)並查看所得結果。 –