我是django测试的新手。我使用 django nose 用于 TDD 。我在我的虚拟环境中使用django nose 1.2版。我参考了下面的链接来创建我的测试。
http://kokoko.fluxionary.net/testing-django-part-1-nose
目前我需要测试我要在我的视图中编写的查询,即来检查查询输出是否正确。我使用下面的代码,但测试失败了:
import nose.tools as nt
nt.assert_true('obj_list' in resp.context)
nt.assert_equal([obj.pk for obj in resp.context['obj_list']], [1])
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
看起来您的数据库中没有任何对象,因此测试失败 - 当您运行测试时,会创建一个新数据库,因此来自开发数据库的数据不会被转移到您的隔离测试环境中。
选择一种可用的解决方案:
创建一个fixture文件,因此它将保存所有测试的数据: https://docs.djangoproject.com/en/dev/howto/initial-data/
在setUp方法或测试方法中创建对象,然后尝试执行一些断言。
首先阅读本文,如果没有Django测试经验: https://docs.djangoproject.com/en/1.6/topics/testing/overview/