问题标签 [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.

0 投票
2 回答
271 浏览

python - 多个表上外键关系的重复键错误

我正在尝试将数据插入到具有映射到另一个表的 ID 的表中,并且我希望它创建我的关系所需的数据......问题是在父级中,我有另一个关系,而在子级中,我也与父母的孩子有关……见下文:

问题是,当我使用工厂插入 Parent 时,显然它尝试插入 childb 表两次,因为它在 parent 和 childa 中被引用,因为我不断获得 childb_id 的重复键......知道如何防止这种情况发生吗?

我创建工厂的方式是创建一个 Parent 对象并提交会话:

0 投票
2 回答
2926 浏览

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

0 投票
2 回答
1235 浏览

python - 工厂中的一对一关系 - 完整性错误

我正在使用 factory_boy 创建我正在开发的应用程序的工厂。我在尝试创建与另一个模型具有一对一关系的模型工厂时遇到问题。

以下是模型:

AccountDependantMixin 是一个包含额外信息的类。它在外面,因为其他模型也需要它。我有不同类型的测试。这就是 PlaylistTest 为空的原因

这是工厂:

这是我尝试使用工厂初始化实例的方式:

我收到以下错误:

0 投票
1 回答
238 浏览

python - Django factoryboy 用作默认参数值时失败

我有一组工厂,我在测试阶段通过一个名为Create. 当我需要引用现有项目时,我将其作为参数传递,如果没有,我使用 FactoryBoy 创建一个新项目:

我这样调用函数:

但它不起作用,我有一堆错误:

在尝试了几天不同的解决方法后,我发现这个版本有效:

对我来说,它做同样的事情,我在这里错过了什么?

0 投票
5 回答
15267 浏览

python - Factory Boy 随机选择带有字段选项“choices”的字段

当 Django 模型中的字段具有选项选项时,请参阅Django 选项字段选项,它利用包含 2 个项目的可迭代对象的可迭代对象来定义允许的值。例如:

楷模

为了在 Factory Boy 中为选项生成随机值,我会使用 factory.fuzzy.FuzzyChoice,但这只会选择 2 个项目的可迭代项。它不能取所选迭代的第一项。例如:

工厂

错误

获取元组的第一项是不可能的。例如:

工厂

错误

使用默认的 Python 随机迭代器是可能的,但这会在声明时生成一个值,因此每个工厂对象都将具有相同的随机值。例如:

工厂

工厂男孩如何解决这个问题?我需要创建自定义 FuzzyAttribute 吗?(如果有,请举个例子)

0 投票
1 回答
1314 浏览

python - factoryboy 没有覆盖 django 模型属性

我正在尝试通过覆盖自定义 Django 模型属性factory_boy以进行测试。但它似乎只是采用模型的默认行为。工厂男孩不能更改自定义属性的默认行为吗?

这是我写的一个基本测试:

模型.py

会话工厂.py

测试.py:类TestSession(TestCase):

运行测试时出现以下错误:

0 投票
1 回答
427 浏览

django - 在父级和相关工厂上分解男孩相同的模型属性实例

我正在分享我自己的问题的解决方案,我在输入问题时意识到了解决方案......它可能对其他人有用。

在我的 Django 模型中,我有一个Gateway具有一组Nodes 的 s 并且它们都应该具有相同的Vendor.

现在我想用factory boy. 这里VendorFactoryNodeFactory

在创建node = NodeFactory().

问题出在GatewayFactory. 我想要的是gateway = GatewayFactory()创建一个GatewayNode实例引用的,网关和节点都使用相同的Vendor.

A尝试了几件事,但失败了。这里一枪:

问题是RelatedFactory在 GatewayFactory 和 aLazyAttribute或 aSelfAttribute在 NodeFactory 的上下文中评估之后评估。

0 投票
4 回答
15979 浏览

python - 如何使用 Factory_boy 的 Faker

Factory_boy用于fake-factory (Faker)生成随机值,我想在我的 Django 测试中直接使用 Faker 生成一些随机值。

Factory_boy 文档建议使用factory.Faker及其提供者为:

但这不会产生任何名称:

factory_boy faker.pyfactory.Faker('ean', length=10)调用faker.Faker.ean(length=10),但Faker文档说它应该显示一个名称:

有没有其他方法可以使用Faker而不是直接从设置实例Faker

0 投票
2 回答
3599 浏览

python - Django - 唯一约束失败:auth_user.username

我正在为一个Django REST Framework应用程序编写单元测试并 factory_boy用来创建我的假测试数据。运行测试时出现以下错误:

不太确定它的含义或导致它的原因。这是工厂定义的地方:

这是创建实例的位置:

这是完整的文件:tests.py

让我知道是否有简单的解决方法。谢谢!

0 投票
0 回答
98 浏览

python - 用工厂男孩测试 jwt

我希望能够测试 djang-rest-framework-jwt,这样我就可以编写一些自定义的自定义有效负载处理程序。我在通过 登录时遇到问题obtain_jwt_token

这是一个简单的测试,应该返回 200 状态代码,但我得到 400 错误代码

AssertionError: {'non_field_errors': ['无法使用提供的凭据登录。']}

如果我使用并传入用户名和密码的字典,我可以让它通过User.objects.create_user(),但我想使用 factory boy 来与我的其余测试保持一致。

工厂.py

C

测试.py