问题标签 [factory-boy]
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 - 测试需要使用 Factory Boy 进行用户身份验证的 Django 视图
我需要一个允许员工用户查看处于草稿状态的对象的视图。但我发现很难为这个视图编写单元测试。
我正在使用 Factory Boy 进行设置:
鉴于我现在有一个已登录的员工用户进行测试,我该如何使用它来测试视图(status_code 200 而不是 404)?
例如,当我的视图允许具有is_staff
as True 的用户访问视图时,此测试失败 (404 != 200):
python - Django 1.7 modelform_factory 表单始终与 factory_boy 创建的模型无效
我正在使用 Django 1.7 和 factory_boy 创建一些模型。这是代码:
在模型.py 中:
factory.py(同一目录)中的关联工厂:
现在,在 django shell 中给出这段代码:
出于某种原因,对 is_valid 的调用似乎总是返回 false,我不知道为什么。表单上似乎没有任何错误,并且 clean()、clean_fields() 和 validate_unique() 似乎都不会在实例上引发错误。
为什么 is_valid 总是返回 false?
django - Factory Boy 使用“model__key”设置关系值
我正在尝试使用 Factory Boy 创建一些数据,但在使用Factory Boy index pagemodel__key
的OrderFactory 示例时遇到了问题。
这是我的工厂:
这就是我正在尝试运行的:
但我得到:
注入实际实例有效:
谢谢!
python - 无法在 Django 应用程序中创建图像字段
我正在开发一个 Django 应用程序,其核心功能基于存储相册。我将 Django 1.8.1 与 Python 3 一起使用。
以下是我迄今为止创建的模型:
以下是测试:
现在,我正在使用 Factory Boy 在测试中创建对象。当我尝试Photo
使用 Factory Boy 创建对象时,出现以下错误:
如果我尝试手动定义图像,也会发生同样的事情。据我所知,图像的路径是正确的。另外,我对在 Python 2.7 上运行的 Django 1.7 项目使用了类似的东西,没有问题,所以它可能是 Python 3 特有的东西。
谁能看到我在这里出错的地方?我可以使用 Django 管理界面创建新的 Photo 对象,所以我认为问题不在于模型,而在于我在测试中与它交互的方式。
django - DjangoModelFactory JsonField 返回 Unicode 数据而不是字典数据
我正在尝试JSONField
使用 factoryboy设置类型字段DjangoModelFactory
。这是代码:
在数据库查询集响应中,我将data
字段作为Unicode
而不是作为dict
.
我错过了什么吗?
django - 使用 factoryboy 将字段保存为 JSON
我正在尝试创建一个模型实例,其中一个字段是JSONField
. 通过创建模型实例时factoryboy
,我想将该字段另存为 JSONField 在测试数据库中。只需将字段传递为JSON
,它就会存储在Unicode
数据类型中。我坚持这一点。
python - 向构造函数传递太多参数是否被视为反模式?
我正在考虑使用 factory_boy 库进行 API 测试。文档中的一个示例是:
为此,我们需要将first_name
,last_name
等作为参数传递__init__()
给base.User() class
. 但是,如果你有很多参数,这会导致类似:
现在的问题是,这种结构是否被认为是反模式,如果是,我有什么替代方案?
谢谢
django - 将多个处理器与 django-nose 一起使用会产生 DatabaseError
我正在尝试使用django-nose
多个处理器运行我们的测试套件以减少运行时。所有测试都使用 1 个处理器通过,但使用多个处理器会产生DatabaseError: server closed the connection unexpectedly
我发现有两个测试在使用多个处理器单独运行时,90% 的时间都失败了。AUserFactory
正在使用accounts_user
并且 aCustomerFactory
正在使用accounts_customer
。请注意传递日志中的最终目标是在事务关闭之前完成的UPDATE
。accounts_customer
在失败的日志中,这UPDATE
永远accounts_customer
不会发生,因为事务已经关闭,导致DatabaseError: server closed the connection unexpectedly
我正在尝试确定导致问题的原因。我认为问题很可能与 django 或 postgres 处理事务的方式有关,但它可能是以下任何一种。
- django 1.7
- 蟒蛇2.7
- django-nose
- 工厂男孩
- postgres
通过postgres 日志:
失败的postgres日志:
堆栈跟踪:
python - 如何使用 Factory Boy 和 Flask-SQLAlchemy 设置依赖工厂?
使用带有 Flask-SQLAlchemy 和外键约束的工厂男孩的正确方法是什么?
考虑以下 Flask SQLAlchemy 模型设置:
创建新用户时,用户模式需要组外键。 由于组主键是从数据库中分配的,因此工厂需要提交组条目并获取该条目的主键,以便将其提供给新用户。
如何创建组,将其保存到数据库,并将其提供给用户工厂的密钥?
Factory Boy 有处理外键的示例,但它们似乎不适用于 SQLAlchemy。以下是工厂和故障点:
python - faker (python) 在 shell 中随机化,但不在 DjangoModelFactory 对象中
我有一些使用faker(http://www.joke2k.net/faker/)进行单元测试的模型,它在shell中是随机的:
播种是可选的。但是当我制作一个新对象时,我总是会发现它发出了相同的电子邮件:
模型看起来像:
../users.py:
现在我有:
这没有任何区别。如何在 shell 中随机化一些东西,而不是在创建对象时随机化,即使提供了种子?谢谢