【问题标题】:Test a query using Django nose使用 Django 鼻子测试查询
【发布时间】:2014-01-19 17:14:39
【问题描述】:

我是 django 测试的新手。我正在为 TDD 使用 django nose。我在我的虚拟环境中使用 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])

任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 测试是否失败且没有任何消息?
  • AssertionError: 列表不同:[] != [1] 第二个列表包含 1 个附加元素。第一个额外元素 0: 1 - [] + [1] ? +

标签: django django-nose


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-09-02
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多