问题标签 [django-testing]

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 投票
3 回答
12600 浏览

python - 在 django 单元测试中使用用户模型的问题

我有以下 django 测试用例,它给了我错误:

当我运行测试时,testA将成功通过,但在testB开始之前,我收到以下错误:

很明显,它试图self.u1在每个测试用例之前创建并发现它已经存在于数据库中。如何在每个测试用例之后正确清理它,以便后续用例正确运行?

0 投票
2 回答
1236 浏览

django - Django - 使用大型静态数据表进行测试

我正在使用“manage.py test”以及使用“dumpdata”创建的 JSON 夹具

我的问题是夹具中的几个表非常大(例如,一个包含美国所有城市的名称),这使得运行测试非常慢。

由于程序从未修改过其中的几个表(例如 - 永远不需要修改城市名称),因此为每次测试运行创建和拆除这些表没有多大意义。

有没有更好的方法来使用这种数据测试这段代码?

0 投票
6 回答
21481 浏览

python - 如何对 django 消息进行单元测试?

在我的 django 应用程序中,我正在尝试编写一个单元测试来执行一个操作,然后检查响应中的消息。

据我所知,没有很好的方法可以做到这一点。

我正在使用 CookieStorage 存储方法,我想做类似以下的事情:

问题是,我得到的只是一个

我怎样才能把它变成有用的东西,还是我做错了?

谢谢,丹尼尔

0 投票
3 回答
1137 浏览

python - 我怎样才能获得更多关于为什么夹具没有加载的详细信息?

我有一个似乎没有加载固定装置的 TestCase。

在构建测试数据库时,我看到了这个错误:

由于某种原因,固定装置没有加载。

夹具位于:
forum/fixtures/forum_fixtures.json

如何输出夹具未加载的原因?

Traceback 表明这里发生了一些事情:
文件“/Users/Bryan/work/CNPROG/forum/models.py”,第 656 行,在 record_ask_event

但我无法想象为什么这会影响夹具的加载。当我查看代码时,record_ask_events 是通过 post_save 事件调用的。
我能够成功manage.py loaddata forum_fixtures,所以我相信我正确设置了它们。

0 投票
3 回答
7356 浏览

django - 如何告诉 Django 保存我的测试数据库?

运行 Django 单元测试太慢了。尤其是当我只想运行一个测试但测试运行器想要创建整个数据库并仅为该测试而破坏整个事物时。

在我没有更改任何模型的情况下,如果 Django 不费心尝试创建和销毁整个数据库,而是将其保存以备下次使用,我可以节省大量时间。更好的是,如果测试运行者能够看到哪些模型发生了变化并且只在运行测试之前替换那些模型,那就太好了。

我宁愿不必自己对测试运行程序进行子类化,但如果我不能很快找到解决方案,我将不得不这样做。有没有这样的东西已经存在?

0 投票
5 回答
1645 浏览

django - 在一个全新的 django 项目中,django auth 测试失败

我做了一个全新的 django 项目,除了给 DATABASE_USER、DATABASE_ENGINE、DATABASE_NAME 和 DATABASE_PASSWORD 赋值外,实际上什么也没做,而 django auth 测试失败。这怎么可能?

我还尝试按照django 的建议添加 TEMPLATE_CONTEXT_PROCESSORS: failed tests from django.contrib.auth

以下是我输入的逐字记录:

我到底错过了什么??我什至还没有做错任何事,而且我已经失败了:)。

0 投票
11 回答
15006 浏览

django - 选择测试数据库?

我正在尝试运行

但它告诉我

创建测试数据库时出错:创建数据库的权限被拒绝

显然它没有创建数据库的权限,但我在共享服务器上,所以我无能为力。我可以通过控制面板创建一个新数据库,但我认为没有任何方法可以让 Django 自动完成。

那么,我不能手动创建测试数据库,而是告诉 Django 每次都刷新它,而不是重新创建整个东西吗?

0 投票
1 回答
255 浏览

django - reverse('opensearch') 如何在 shell 中工作,但在测试中失败?

我正在尝试将 django-lean 安装到我的应用程序中。

在我的应用 App 中使用了开放式搜索。

我可以在 Python shell 中反转('opensearch')。然而,在测试中, reverse('opensearch') * NoReverseMatch: Reverse for 'opensearch' with arguments '()' 和关键字参数

这是从测试中做同样的尝试,由 pdb.set_trace() 停止

这是来自 urls.py 的代码:

最后,这是失败测试的跟踪路由:

0 投票
2 回答
2215 浏览

django - 这是怎么发生的?AssertionError:响应重定向到“http://testserver/account/signin/”,预期为“http://testserver/accounts/signin/”

这对我来说没有任何意义,当参数相同时,断言怎么会失败?

这是测试:

0 投票
2 回答
1456 浏览

django - 为什么 Django 项目 URL 并非对 Django 测试客户端都可用?

我一直在尝试将 django-lean 应用程序添加到我的项目中。django-lean 应用程序不在我正在处理的项目中,它在 PYTHONPATH 上。

我无法通过 django-lean 测试。

似乎问题在于 TestCase 为 urls 定义了一个值:

据我所知,测试只获取位于 @'django_lean.experiments.tests.urls' 的 url,而不是来自项目其余部分的 url。

这会导致错误消息,例如:

这些由项目中的 {% url %} 模板标签触发。

如何确保项目的所有 url 都可用于测试?

编辑:有人向我展示了一个打印可见 URL 的脚本:

我从ipdb调用了这个脚本,这是输出:

这对应于位于 @'django_lean.experiments.tests.urls' 的 url

我遇到的问题是我的测试都失败了,因为来自项目中其他应用程序的命名 url 被 URL 模板标签调用,测试无法访问。

我正在使用 Django 1.2.1 运行 Python 2.7