问题标签 [pytest-django]

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 回答
1732 浏览

python - 具有特定 IP 的 Django REST 客户端测试

Django REST 文档META. 所以我必须为Whitelist它创建存储 ip-address/subnet 的模型。没什么大不了302的,我的数据库中已经有了所有子网。

问题:
我想从其他 IP 地址测试白名单,而不是127.0.0.1
如何在其中执行此操作pytest

0 投票
1 回答
170 浏览

django - pytest django TestCase 使用 `--pdb` 给出奇怪的失败

我有一个非常简单的类,它在任何版本的 pytest>3.0.0 上都失败了。当我使用--pdb.

我正在使用以下版本:

  • 平台 Linux
  • 蟒蛇 2.7.11
  • pytest-3.3.1
  • py-1.5.2
  • 插件-0.6.0
  • django-2.9.2

我收到以下错误:

但是,如果我降级到pytest==3.0.0and pluggy-0.3.1,代码将毫无问题地执行。我的问题是,这是怎么回事?这可能是什么原因造成的?

就好像 pytest 正在调用 ,test_that_client_exists但没有调用__call__which 调用_pre_setup

有没有人见过这样的事情?

0 投票
2 回答
1133 浏览

python - 强制 Django 测试将模型写入数据库

我正在设置一个非常简单的 Django 项目,并进行了一个非常简单的测试,例如:

测试当然通过了,但是数据库(TEST数据库)没有填充我的Thing模型信息,即使我实际上可以看到它id,就像你看到我的脚本一样。

当我连接到数据库时,Thing表总是空的(我还在文档中看到了一些关于它的评论)。

现在,我如何告诉 Django 实际填充数据?我正在使用 mysql,并检查完整的日志,我看到 DjangoSAVEPOINT在填充数据(未提交)之前创建了一个,一旦测试通过,它就会回到之前的SAVEPOINT.

我在用:

我希望 DjangoTEST使用来自我的测试的信息来实际填充数据库,最后删除该数据库,这就是为什么我假设 Django 正在创建一个全新的数据库只是为了测试。

0 投票
2 回答
2452 浏览

django - 如何使用 Pytest 在 Django 中测试缓存存储(Redis)?

我正在使用带有django-pytest库的 Django 1.11.9 来测试我的应用程序。另外,我使用 Redis 作为缓存存储。我的问题是——如何在运行测试之前制作一个测试缓存存储并使用测试数据进行设置?类似于 Django 数据库的做法。

我想添加一些key: value数据来测试缓存存储(在 Redis 中),运行测试,然后删除所有这些测试数据(清除测试缓存)。

0 投票
1 回答
217 浏览

django - 无法在 pytests 中使用辅助类

助手类

测试班

错误日志

互联网上没有合适的解决方案,所以我尝试了我遇到的任何问题。

我无法解决此错误。任何帮助,将不胜感激。谢谢

0 投票
2 回答
729 浏览

python-3.x - 通过 Pytest 和 Requests 测试 Django 时出现 MissingSchema 错误

尝试通过 python-requests 制作简单的测试管理页面

但出现意外错误

已安装软件包列表

阅读大量文档和手册,但找不到解决方案。使用不同pytest.inimanage.pywsgi.pysettings.py Simple 测试进行测试assert 200==200可以正常工作。问题出在哪里?

0 投票
2 回答
2073 浏览

python - 升级 pytest 导致 TypeError: 'NoneType' object is not callable 错误

需要帮助升级pytest。在 3.2.4 的情况下,如果我移动到 3.3.x 或 3.4.x,我会收到一个我不理解的错误,我什至无法执行该-h参数。不知道从哪里开始或为什么会发生这种情况。也许我的问题virtualenv

新鲜的虚拟环境

我确实尝试从一个全新的 virtualenv 开始,但是,我仍然遇到同样的错误。恢复到3.2.4修复它。

在职的:

升级到 3.3.x

资源:

这是我维护的一个开源项目:https ://github.com/thornomad/django-hitcount

0 投票
0 回答
388 浏览

django - 我如何在 django 中测试我的自定义模型管理器

以下是我的自定义经理

模型

我该如何测试这段代码?以下是我的代码

这是对的吗???或其他方法...测试自定义模型管理器的最佳方法是什么

0 投票
2 回答
1898 浏览

django - 在使用 pytest-django 进行测试期间,Django 连接对象看不到第二个数据库的表

底线:在使用 pytest-django 进行测试期间,我的 Django 连接对象没有看到第二个数据库的表关系。

概述: 我有一个问题,我的 Django 连接对象似乎获取了错误的数据库信息。当我在“客户”数据库中查询表时,我偶然发现了这个问题,Django 告诉我关系不存在。使用 settings.py 数据库部分设置如下:

当我在目录上运行“pytest”时,下面的两个光标都从“默认”数据库中获取信息:

df1 和 df2 的结果完全相同:只有“默认”数据库中的表名。

pytest-django 和使用第二个 Postgres 数据库时会发生这种情况,但有时只有.

在上面的查询中,我希望 df1 和 df2 是不同的,只要“默认”和“客户”数据库不同。但是,有时,连接游标无法正确“看到”第二个数据库中的所有信息。

奇怪的是,当我打印时,连接设置显示不同:

“连接”对象包含两个不同的数据库,但一个是“测试”数据库。print 语句产生一个字典,但请注意“ test_customers ”:

似乎 Django 正在尝试建立一个测试数据库,但失败了,并且没有通过测试,因为“test_customers”中的表与生产中的表不同。

如何解决此问题,以便 pytest-django 在测试期间始终看到第二个数据库(客户)中的表?我在设置和拆卸数据库时做错了吗?

更新:阅读有关数据库创建/重用的 pytest-django 文档为我指明了正确的方向。但是,我对文档的这一部分感到有些不安:

目前 pytest-django 并没有专门支持 Django 的多数据库支持。但是,您可以使用普通的 Django TestCase 实例来使用它的 multi_db 支持。

如果您对直接在 pytest-django 中支持多个数据库的最佳 API 有任何想法,请与我们联系,我们有兴趣最终支持这一点,但不确定是否仅仅遵循 Django 的方法。

0 投票
1 回答
94 浏览

python - 补丁 django.conf 设置不会改变值

我有VOUCHERED_PEOPLEbase.py我需要测试它,dummy 我已经阅读了这个才能得到settings.VOUCHERED_PEOPLE补丁,但它在 Django2 中不起作用

utils.py

base.py

tests.py

尝试1:

这不起作用。settings.VOUCHERED_PEOPLE是一个函数。我必须执行它才能通过settings.VOUCHERED_PEOPLE()

问题:
补丁不起作用。做我的不是改变价值dummy

问:
我哪里错了?