http响应根据fixture进行区分以进行测试
django-responsediff的Python项目详细描述
django responsediff
在编写现有代码的测试时,我是相当懒惰的,但是,我 当涉及到重复的手动测试操作时,甚至更加懒惰。这个包旨在消除政治记忆中的重复视图测试 并使其可用于其他应用程序。
它与django dbdiff几乎相同,只是用于http响应。
注意
v0.7最多支持django<;2.1
响应状态断言
当我的用户测试时,他浏览网站并检查所有内容 变得很好。此应用程序允许对HTML呈现进行高级检查。
请参见responsediff/response.py docstrings以了解用法,或者使用 便利混合:
from responsediff.test import ResponseDiffTestMixin class MixinTest(ResponseDiffTestMixin, test.TestCase): def test_admin(self): self.assertResponseDiffEmpty(test.Client().get('/admin/'))
上面的第一次将失败,FixtureCreated表示 它已经写了 responsediff/tests/response_fixtures/MixinTest.test_admin/{content,status_code}。 此文件将添加到版本控制中。所以下次再这样下去的时候, 它将检查response.status_code和response.content是否是 相同,在未来版本中,或在其他配置中(即py35、py27、pypy等 …)。
而不是在运行测试之前手动删除设备 重新生成它们,只需使用fixture write=1环境运行测试 变量。这将覆盖fixture并使测试看起来像 通过。
要求
Python2.7和3.4与Django1.7到1.10一起受支持—它总是 最好支持django的master,这样当它是 发布,这是100%覆盖率的卖点之一。
安装
用pip安装django-responsediff。