我在我的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)并查看所得结果。 –