问题标签 [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.
python - 多个表上外键关系的重复键错误
我正在尝试将数据插入到具有映射到另一个表的 ID 的表中,并且我希望它创建我的关系所需的数据......问题是在父级中,我有另一个关系,而在子级中,我也与父母的孩子有关……见下文:
问题是,当我使用工厂插入 Parent 时,显然它尝试插入 childb 表两次,因为它在 parent 和 childa 中被引用,因为我不断获得 childb_id 的重复键......知道如何防止这种情况发生吗?
我创建工厂的方式是创建一个 Parent 对象并提交会话:
python - Django:与 factory_boy 的一对一字段:UNIQUE 约束失败
我正在尝试使用 factory_boy 为这些模型制作工厂:
这是我的工厂:
现在,当我打电话CourseFactory()
或CourseInfoFactory()
收到 IntegrityError 时:
IntegrityError:唯一约束失败:courseaffils_courseinfo.course_id
我的工厂出了什么问题?我该如何解决这个问题?
如果我改为course = factory.RelatedFactory('courseaffils.tests.factories.CourseFactory')
在 CourseInfoFactory 上执行,我会收到此错误,如预期的那样:
IntegrityError:NOT NULL 约束失败:courseaffils_courseinfo.course_id
如果您需要更多详细信息,这是我正在使用的实际代码:
https://github.com/ccnmtl/django_courseaffils/blob/master/courseaffils/models.py
python - 工厂中的一对一关系 - 完整性错误
我正在使用 factory_boy 创建我正在开发的应用程序的工厂。我在尝试创建与另一个模型具有一对一关系的模型工厂时遇到问题。
以下是模型:
AccountDependantMixin 是一个包含额外信息的类。它在外面,因为其他模型也需要它。我有不同类型的测试。这就是 PlaylistTest 为空的原因
这是工厂:
这是我尝试使用工厂初始化实例的方式:
我收到以下错误:
python - Django factoryboy 用作默认参数值时失败
我有一组工厂,我在测试阶段通过一个名为Create
. 当我需要引用现有项目时,我将其作为参数传递,如果没有,我使用 FactoryBoy 创建一个新项目:
我这样调用函数:
但它不起作用,我有一堆错误:
在尝试了几天不同的解决方法后,我发现这个版本有效:
对我来说,它做同样的事情,我在这里错过了什么?
python - Factory Boy 随机选择带有字段选项“choices”的字段
当 Django 模型中的字段具有选项选项时,请参阅Django 选项字段选项,它利用包含 2 个项目的可迭代对象的可迭代对象来定义允许的值。例如:
楷模
为了在 Factory Boy 中为选项生成随机值,我会使用 factory.fuzzy.FuzzyChoice,但这只会选择 2 个项目的可迭代项。它不能取所选迭代的第一项。例如:
工厂
错误
获取元组的第一项是不可能的。例如:
工厂
错误
使用默认的 Python 随机迭代器是可能的,但这会在声明时生成一个值,因此每个工厂对象都将具有相同的随机值。例如:
工厂
工厂男孩如何解决这个问题?我需要创建自定义 FuzzyAttribute 吗?(如果有,请举个例子)
python - factoryboy 没有覆盖 django 模型属性
我正在尝试通过覆盖自定义 Django 模型属性factory_boy
以进行测试。但它似乎只是采用模型的默认行为。工厂男孩不能更改自定义属性的默认行为吗?
这是我写的一个基本测试:
模型.py:
会话工厂.py:
测试.py:类TestSession(TestCase):
运行测试时出现以下错误:
django - 在父级和相关工厂上分解男孩相同的模型属性实例
我正在分享我自己的问题的解决方案,我在输入问题时意识到了解决方案......它可能对其他人有用。
在我的 Django 模型中,我有一个Gateway
具有一组Node
s 的 s 并且它们都应该具有相同的Vendor
.
现在我想用factory boy
. 这里VendorFactory
和NodeFactory
。
在创建node = NodeFactory()
.
问题出在GatewayFactory
. 我想要的是gateway = GatewayFactory()
创建一个Gateway
由Node
实例引用的,网关和节点都使用相同的Vendor
.
A尝试了几件事,但失败了。这里一枪:
问题是RelatedFactory
在 GatewayFactory 和 aLazyAttribute
或 aSelfAttribute
在 NodeFactory 的上下文中评估之后评估。
python - 如何使用 Factory_boy 的 Faker
Factory_boy
用于fake-factory (Faker)
生成随机值,我想在我的 Django 测试中直接使用 Faker 生成一些随机值。
Factory_boy 文档建议使用factory.Faker
及其提供者为:
但这不会产生任何名称:
从factory_boy
faker.py
类factory.Faker('ean', length=10)
调用faker.Faker.ean(length=10)
,但Faker
文档说它应该显示一个名称:
有没有其他方法可以使用Faker
而不是直接从设置实例Faker
?
python - Django - 唯一约束失败:auth_user.username
我正在为一个Django REST Framework
应用程序编写单元测试并
factory_boy
用来创建我的假测试数据。运行测试时出现以下错误:
不太确定它的含义或导致它的原因。这是工厂定义的地方:
这是创建实例的位置:
这是完整的文件:tests.py
让我知道是否有简单的解决方法。谢谢!
python - 用工厂男孩测试 jwt
我希望能够测试 djang-rest-framework-jwt,这样我就可以编写一些自定义的自定义有效负载处理程序。我在通过 登录时遇到问题obtain_jwt_token
。
这是一个简单的测试,应该返回 200 状态代码,但我得到 400 错误代码
AssertionError: {'non_field_errors': ['无法使用提供的凭据登录。']}
如果我使用并传入用户名和密码的字典,我可以让它通过User.objects.create_user()
,但我想使用 factory boy 来与我的其余测试保持一致。
工厂.py
C
测试.py