0

我是 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])

任何帮助都感激不尽。提前致谢。

4

1 回答 1

1

看起来您的数据库中没有任何对象,因此测试失败 - 当您运行测试时,会创建一个新数据库,因此来自开发数据库的数据不会传输到您的隔离测试环境中。

选择一种可用的解决方案:

  1. 创建一个夹具文件,以便保存所有测试的数据: https ://docs.djangoproject.com/en/dev/howto/initial-data/

  2. 在 setUp 方法或测试方法中创建对象,然后尝试做一些断言。

如果没有在 Django 中进行测试的经验,请先阅读此内容: https ://docs.djangoproject.com/en/1.6/topics/testing/overview/

于 2014-01-02T11:29:16.850 回答