问题标签 [django-tests]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10272 浏览

django - 断言两个对象列表在 Django 测试中是相等的

有没有办法在 django 测试中检查两个对象列表是否相等。

假设我有一些模型:

我运行这个简单的测试:

这失败了:

这将起作用:

但是,这失败了:

和:

这是预期的行为吗?

编辑以回应评论
这种类型的比较有效:

为什么其他阵列的测试失败?

0 投票
1 回答
80 浏览

django - 调试 django 测试

我看到 TestCase有一个方法Debug(),但我找不到任何关于如何实现它的示例。据我尝试,没有任何效果。

谁能提供一些关于如何使用它的代码?

0 投票
2 回答
1476 浏览

django - Django:多个数据库、路由器和测试框架

我目前正在为我们的 django 应用程序编写测试。可悲的是,我们不得不使用多数据库布局并且无法更改这一点。(跨多个数据中心的不同服务器上具有多个后端的分布式数据库)

我们有两个数据库:

  1. 带有 django 默认表的默认数据库
  2. 具有某些模型的应用程序数据库

对于这些模型,我们编写了不同的路由器,如 django 网站上记录的那样。现在的问题是,如果我运行 python manage.py test customerreceipts 测试框架会在几秒钟后死亡,并出现以下错误:

我检查了创建的数据库,没有表。因此,来自模型的查询会引发错误。

问题模型是(在数据库 2 中):

因为多数据库设置不支持直接链接,所以我们使用 IntegerField 作为所有者,业务逻辑处理完整性。

问题是 _choices_user() 为丢失的表设置查询。我不明白为什么 django 在第一次运行时没有创建表 auth_user 。如果我删除带有导致模型的应用程序,则测试框架可以正常工作。

有什么想法可以解决这个问题吗?

谢谢!

编辑:我创建了一个数据库设置并尝试了同样的事情。可悲的是它抛出了同样的错误!我现在很困惑。有人也可以测试一下吗?使用 _choices_user 方法创建模型并运行测试。

0 投票
1 回答
1292 浏览

django - Django Test - 如何使用特定应用程序的不同设置文件运行测试?

我有一个项目,在这个项目中我有不同的应用程序。问题是,一个特定的应用程序是同一个项目中的另一个网站,并使用不同的设置文件。

当我分开运行测试时,它运行良好,当我尝试一起运行所有测试时,使用不同设置文件的应用程序失败..

知道如何解决吗?

我试图将设置覆盖到 setUp 方法中,如下所示:

当我这样做时,适用于特定网站,但不适用于其他应用程序..

任何想法?

0 投票
1 回答
902 浏览

django - 反向 FK 模型妈妈食谱

我正在使用带有 Django 测试的model_mommy来创建对象。我在创建具有反向 FK 的模型时遇到问题。作为一种解决方法,我可以用相反的方式来做,但是虽然它有效,但它看起来并不正确,所以我想知道我是否可以反过来做?

假设我有两个模型,用户和配置文件,通过从配置文件到用户的 FK 相关联(它不是一对一的,它只是一个 FK)。Profile 模型有一个布尔属性调用 is_aardvark。

在模型妈妈中,我可以创建如下食谱:

然后我可以在我的测试中使用 aardvark 配置文件创建一个用户,例如:

这似乎不对,因为我正在通过 aardvark_profile 配方创建用户。理想情况下,我想通过某种用户配方创建一个用户(也许将来我会有一些其他模型 FKd 给用户,所以上面的方法不起作用)。

我已经尝试过以下方法,但不起作用:

这甚至可能吗?有任何想法吗?如果一切都失败了,我可以创建一个辅助方法来为我做这件事。

谢谢!

0 投票
1 回答
1372 浏览

python - 如何测试自定义 python-social-auth 管道?

因此,我创建了一个自定义管道extra_data,用于保存从模型属性中获取的用户社交资料数据user.social_auth。我已经对其进行了彻底的测试,但是是手动的。

  1. 如何使用常规自动测试我的自定义管道django.test.TestCase

  2. 如何测试正常管道是否工作?用户注册、登录等?

我确实搜索了很多,但没有找到任何相关的类似问题,更不用说教程或文档了。

更新- 我将问题作为问题发布在 github 上,发现存在用于管道测试的功能。现在我只需要弄清楚如何将它用于我的目的。

0 投票
1 回答
9694 浏览

python - Python,MongoDB,Mongoengine - TypeError:字符串索引必须是整数,而不是 str

我正在构建一个 Django 应用程序,它通过 LinkedIn api 下载一些数据并将其存储到 MongoDB。我正在使用python-linkedin库。一个函数获取群组帖子并将这些帖子作为 dict 对象返回。

在测试时,我收到以下 TypeError:

这是一个返回的 dict 对象示例,表示 LinkedIn 组帖子和创建帖子的用户。

我正在尝试将这些对象存储在 MongoDB 中。这是(大部分)documents.py 文件:

这是获取帖子(预期为字典)并将其保存到 MongoDB 的函数

请注意,我在运行 Django 测试时遇到错误

这是 Django ORM + MongoDB 的限制,还是我做错了什么?

0 投票
1 回答
321 浏览

django - 使用多个数据库(MySQL 和 MongoDB)在 Django 上执行测试

我正在尝试在我正在开发的应用程序上运行测试,但我遇到了问题。该应用程序使用 2 个数据库,一个 MySQL 用于配置和关系数据,一个 MongoDB 用于其他一些非关系记录。当我正常使用它时它可以工作,因为 Y 只是 syncdb 关系数据库......但是当我尝试运行测试时,Django 正在尝试同步两个数据库然后崩溃,因为它在模型的 mongo 中出现了一些错误。有什么建议么?

这是数据库的配置:

路由器:

测试代码:

0 投票
1 回答
495 浏览

django - Django 测试客户端从查询中获取行 ID

我如何从下面的代码中的响应中打印 id。用户确实存在于数据库中。我也遇到了这个错误。

查看 get_user

错误:

0 投票
1 回答
372 浏览

django - 无法测试 django 1.7 应用程序

我正在运行Django==1.7psycopg2==2.5.4但我无法运行我的任何测试。

当我尝试运行我的任何 django 测试用例(通过运行./manage test <app>)时,我收到以下错误:

我的数据库设置非常基本:

我正在使用的用户(系统是 Ubuntu 14.04)具有完整的 postgres 管理员权限,我可以成功地手动创建/删除数据库:

我的模型迁移似乎很好 - 我可以删除数据库,成功运行迁移并且我的 Web 应用程序功能正常 - 我只是无法运行测试。

我在同一台机器上有另一个 django 1.7 项目,使用相同的基本 postgres 数据库设置,以相同的用户身份运行并且测试运行良好。

任何想法可能会阻止测试运行?