问题标签 [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 - 在 Google App Engine 上对 Django 进行单元测试
我很难在 GAE 上运行 django 单元测试。我可能设置错了。
运行test_shout_exists
单元测试时,我收到以下错误消息:
有什么提示吗?谢谢
python - 运行 django 教程测试失败 - 没有名为 polls.tests 的模块
我正在玩 django 1.6 教程,但我无法运行测试。我的项目(名称 mydjango)和应用程序结构(名称是 polls)在 virtualenv 中如下所示。(.nja 文件只是由 ninja-ide 我正在使用的 ide 创建的)
我按照教程了解了 django 的工作原理,但我陷入了测试部分。正如教程建议的那样,我在 app 文件夹中创建了一个名为 tests.py 的文件,非常简单的文件是:
然后我将unittest2安装到virtualenv中
并运行
没有办法让测试工作,如果不通过应用程序名称,它也会返回相同的错误:
我的 INSTALLED_APPS 是:
我究竟做错了什么?
python-2.7 - Django:执行manage.py test myApp时,关系“auth_user”已经存在
堆栈跟踪:
我的 settings.py 文件:
我的怀疑:在models.py 中,由于之前对models.py 实际工作方式的误解,我手动添加了类AuthUser()。
我想要自定义字段/属性,所以我认为这就是这样做的方法。此外,我实际上修改了 Django 生成的 postgres 中的 auth_user 表,以添加自定义字段。
现在,当我尝试运行 ./manage.py test myApp 时,我得到了上面的堆栈跟踪。下面是类 AuthUser():
我还没有验证上面的堆栈跟踪是由在 models.py 中定义 class AuthUser() 和 execution 引起的./manage.py test myApp
。我的问题是:
- 如何继续执行 models.py 的当前实现并成功执行
./manage.py test myApp
并继续我的单元测试? - 如何使用自定义字段修复 models.py 中的 AuthUser 类的正确方法?
- 我可以通过将具有一对一关系的 Django 的 User 类扩展到 models.py 中的 CustomUser 类来解决这个问题吗
- 它还支持我在 postgres DB 中创建的与 CurriculaUserMap 的 ManyToManyField 关系吗?
我担心的是,如果我跳起来以“正确的方式”解决这个问题;它几乎会破坏一切。
感谢您的时间!
python - Django Test:测试视图而不创建客户端
我想写一个测试用例,例如:
当我运行上面的代码时,我看到以下错误消息:
AttributeError:“模块”对象没有属性“视图”
我是 Python 新手,显然做错了。谁能指出错误是什么?
谢谢。-拉吉
python - 如何查看在 Django 的 manage.py test 命令期间运行了哪些测试
使用 Django 的命令完成测试执行后,manage.py test
只有通过的测试数量会打印到控制台。
有什么办法可以看到:
- 实际执行了哪些测试
- 从哪个模块
- 以什么顺序
我在文档中没有找到任何解决方案。
django - 在视图中检索 Django Unittest 结果
我在任何地方都找不到,但是是否可以从 django 视图中运行单元测试以输出到模板?目前,如果我跑步python manage.py test
,我会收到类似“ Ran 10 tests in 0.401s OK
”的消息。我想从我的一个观点中获取这些信息。有什么建议么?谢谢!
编辑:试过了,没用:
python - Django 测试 - 使用查询集获取对象时无法保存对象
我有一个模型,让我们说一下:
我有一个看起来像这样的文件:
测试时出现了我的问题:
我不明白为什么会有两种不同的行为:(
我在我的模型中添加了修改日期,并尝试foo_1
在循环之前和之后输出它for
,save
似乎工作正常,但就像对象不同......
我不知道这是否有帮助,但我也vars(invoice)
从输出test_foo
,然后从foo_1()
,最后从foo_2()
. ( )中的状态相同test_foo
,但foo_2()
( )中的状态不同<django.db.models.base.ModelState object at 0x32ca090>
foo_1()
<django.db.models.base.ModelState object at 0x32cc650>
python - 如何为 Django 中的自定义用户模型编写测试?
TL;博士:
我不想使用@skipIfCustomUser
我能做什么?
Django 允许在 中定义自定义用户模型settings.py
,并说我们应该在 docsget_user_model()
中引用当前(交换的)User
模型。
此外,文档很高兴地说:
如果您正在编写与 User 模型交互的应用程序,则必须采取一些预防措施......
为确保您的测试套件将通过任何项目配置,请
django.contrib.auth.tests.utils
定义一个@skipIfCustomUser
装饰器。这个装饰器会导致一个测试用例被跳过......
对我来说,期望越来越多的 Django 项目拥有自定义用户模型似乎是合理的,因此我也希望能够针对这些项目测试我的应用程序。
但我该怎么做呢?
作为参考,这一切都失败了:
如果用户模型未定义username
字段,则最后一行将失败。CustomUser
例如Django 自己的测试就是这种情况。
python - 使用大型数据集加速 django 测试
我一直在 django 中遇到大型数据集的单元测试运行速度非常慢(2 小时以上)的问题,因此编写了以下内容以实现更快的测试,通过用这个替换我们所有的夹具加载测试将时间缩短到 40 分钟我最初写它是为了用创建的静态 django 模型对象替换我们的固定装置。
我现在正在寻求进一步提高速度,有什么方法可以让我更快更有效地处理较小的数据集?
python - 如何在 Django 单元测试中测试 commit_manually
您如何测试使用单元测试中的commit_manually()的 Django 代码?
我有一个长时间运行的方法可以删除大量记录,足以在不消耗所有系统内存的情况下将所有这些更改保留在单个事务中。所以我把它包装起来@commit_manually
并定期调用commit()
.
但是,在 Django 1.6 中,所有单元测试现在都包含在 中transaction.atomic()
,所以如果我尝试进行任何手动提交,我会收到错误消息:
django.db.transaction.TransactionManagementError:当“原子”块处于活动状态时,这是禁止的。
有什么办法解决这个问题?