问题标签 [django-unittest]
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.
django - 获取有关 Django unittest 框架的扩展信息
我正在使用 Django 单元测试框架来测试我的应用程序。当我执行所有测试用例时,我会得到关于成功运行的测试用例的非常简短的信息。
这是非常少的信息。我想了解有关每个测试用例的更多信息,
例如
每个测试用例执行所花费的时间。
成功完成每个测试模块。等等等等
我们是否有任何调试(或任何其他参数)参数可以启用有关已执行测试用例的扩展信息?
注意:- 使用详细参数不能满足我的需要
python - Running Django unittests causes South migrations to duplicate tables
How do you prevent Django unittests from running South migrations?
I have a custom Django app, myapp, that I'm trying to test with manage.py test myapp
but when I run it I get the error:
and sure enough, the traceback shows that South is being executed:
However, in my settings, I've specified:
which I believe should prevent Django's test framework from executing any South components.
What am I doing wrong?
Edit: I worked around this by simply removing south with:
However, then I got:
For my test database settings, I was using:
which worked fine in Django 1.4. Now I'm using Django 1.5, and I guess that's not kosher. However, no NAME value I see it to fixes it. They all report none of my tables exist. I've tried:
each seems to create a physical test.db file, which I don't understand, because unittests should be run in-memory. It should never save anything to disk. Presumably, it's failing to run syncdb after creating the file but before it executes the actual unittest. How do I fix this?
Edit: I discovered that, in one of my forms, I was populating field choices by directly querying a model (whereas I should have been doing that inside the form's init), so when Django's test framework imported my model, it was trying to read the table before the sqlite3 database had been created. I fixed that, but now I'm getting the error:
so I'm back to square one, even though it's throwing a different exception type than initially.
Edit: I had a duplicate through model defined, causing Django to attempt to create it twice, resulting in the error.
python - Django 1.6,带有多处理的 Transaction.commit_on_success 不起作用
我是 Django 的新手,正在尝试编写一些测试用例。
在我的代码中,我正在做一些交易。为此,我在 django 中使用select_for_update锁定了我的代码。现在我想测试一下锁是否正常工作。我同时运行 2 个或更多进程,因此它只允许第一个进程并在此处等待完成第一个进程,然后其他进程继续。
这里上面的代码在其他视图文件中。所以我在这里使用cron作业在django中运行这个文件。我使用进程在 transaction_func 中调用 row_lock_method 两次。由于测试成功运行,但这是在真实数据库中,所以我想回滚在此作业中完成的所有更改,所以我在两个 for 循环之后都设置了raise条件。所以这里发生异常,它将通过transaction.commit_on_success回滚。但我的问题是回滚在这里不起作用。甚至没有错误消息出现。
我做错了什么吗。请回复。提前致谢。
python - 在 Django REST API unittest 中,如何在 client.get() 函数中将 JSON 参数作为正文发送?
我正在构建一个 REST API,Django
在某些地方我需要发送带有许多参数的 HTTP GET。因此,我决定在 request.body 中将它们作为 JSON 发送。现在,该应用程序可以正常工作,但不能进行单元测试。我似乎找不到使用 self.client.get() 在正文中发送 JSON 参数的方法。这就是我正在做的事情:
使用它并运行单元测试我收到以下错误:
POST 工作正常,但在这种情况下我需要使用 GET。甚至可能吗?Django 版本是 1.4.5。
django - 如何使用 django-rest-framework 的测试客户端测试二进制文件上传?
我有一个 Django 应用程序,其视图接受要上传的文件。使用 Django REST 框架,我将 APIView 子类化并实现 post() 方法,如下所示:
现在我正在尝试编写几个单元测试以确保需要身份验证并且实际处理了上传的文件。
但是当 REST 框架尝试对请求进行编码时,这会失败
如何让测试客户端发送数据而不尝试将其解码为 UTF-8?
python - 无法在 Django 单元测试中登录
您如何在 Django 单元测试中模拟登录到管理员?文档使它看起来很简单,但是当我这样做时,我得到 200 响应和一个页面,上面写着“请重新登录,因为您的会话已过期。”
我的单元测试看起来像:
我的 unittest 的 Django 设置如下所示:
我究竟做错了什么?
python - 使用模板 Sqlite 数据库加速 Django 单元测试
如何让 Django 在运行单元测试时将 sqlite3 db 文件加载到内存中,而不是生成新数据库并从头开始初始化模式?
我有一些大型 JSON 固定装置,Django 需要一段时间才能为每个测试加载。我想的一种解决方法是生成一个“模板”sqlite3 数据库,将所有模式和夹具加载到其中,然后简单地将其用于每个单元测试,绕过所有夹具加载。显然,每当我更改架构或固定装置时,我都必须更新此模板,但如果这意味着每个单元测试将需要几秒钟而不是几分钟来运行,那么这是一个可以接受的折衷。
我已经完成了第一步,生成了模板数据库,方法是: * 在“TEST_NAME”数据库设置字段中指定 db 文件名 * 运行一个什么都不做的特定单元测试,所以 Django 只会生成模式和加载固定装置 * monkeypatched django。 test.running.DiscoverRunner.teardown_databases 什么都不做,所以我可以检索 db 文件并将其保存为我的数据库模板
但现在我被困在如何让 Django 使用这个文件上。如果我将文件保留为我的 TEST_NAME 参数,Django 将简单地删除它并重新生成它......但还会继续将它写入文件系统,使其比内存中的 Sqlite3 数据库慢近 10 倍。
python - django-crispy-form:单元测试因辅助对象的 TypeError 而失败
有点基于本书的一章,我想对使用 django-crispy-form 创建的表单进行单元测试,但出现以下错误:
TypeError: 提供给 {%crispy %} 标签的辅助对象必须是一个crispy.helper.FormHelper 对象。
形式(myapp/forms.py
):
视图(myapp/views.py
):
考试:
我是否也必须以某种方式模拟辅助对象?那该怎么做呢?非常感谢!
django - Django 单元测试
我有两台服务器,一台作为 api 工作,另一台用于从 api(webui) 检索数据。如果我在 webui 中对视图执行任何单元测试,它正在 api 中创建对象。如何在测试后删除 api 中的对象完成了吗?你能建议任何方法来处理这个问题吗?
python - 没有为 Unittest 加载 Django 1.6.1 Fixtures
Django 没有为以下测试加载夹具。
这指向以下视图但从该视图我无法检索 device_list
我的 test_device.json 文件如下
文件结构是
知道我做错了什么吗?请提供建议..