问题标签 [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 回答
1534 浏览

django - 测试需要使用 Factory Boy 进行用户身份验证的 Django 视图

我需要一个允许员工用户查看处于草稿状态的对象的视图。但我发现很难为这个视图编写单元测试。

我正在使用 Factory Boy 进行设置:

鉴于我现在有一个已登录的员工用户进行测试,我该如何使用它来测试视图(status_code 200 而不是 404)?

例如,当我的视图允许具有is_staffas True 的用户访问视图时,此测试失败 (404 != 200):

0 投票
1 回答
189 浏览

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?

0 投票
0 回答
77 浏览

django - Factory Boy 使用“model__key”设置关系值

我正在尝试使用 Factory Boy 创建一些数据,但在使用Factory Boy index pagemodel__keyOrderFactory 示例时遇到了问题。

这是我的工厂:

这就是我正在尝试运行的:

但我得到:

注入实际实例有效:

谢谢!

0 投票
1 回答
728 浏览

python - 无法在 Django 应用程序中创建图像字段

我正在开发一个 Django 应用程序,其核心功能基于存储相册。我将 Django 1.8.1 与 Python 3 一起使用。

以下是我迄今为止创建的模型:

以下是测试:

现在,我正在使用 Factory Boy 在测试中创建对象。当我尝试Photo使用 Factory Boy 创建对象时,出现以下错误:

如果我尝试手动定义图像,也会发生同样的事情。据我所知,图像的路径是正确的。另外,我对在 Python 2.7 上运行的 Django 1.7 项目使用了类似的东西,没有问题,所以它可能是 Python 3 特有的东西。

谁能看到我在这里出错的地方?我可以使用 Django 管理界面创建新的 Photo 对象,所以我认为问题不在于模型,而在于我在测试中与它交互的方式。

0 投票
1 回答
957 浏览

django - DjangoModelFactory JsonField 返回 Unicode 数据而不是字典数据

我正在尝试JSONField使用 factoryboy设置类型字段DjangoModelFactory。这是代码:

在数据库查询集响应中,我将data字段作为Unicode而不是作为dict.

我错过了什么吗?

0 投票
2 回答
3108 浏览

django - 使用 factoryboy 将字段保存为 JSON

我正在尝试创建一个模型实例,其中一个字段是JSONField. 通过创建模型实例时factoryboy,我想将该字段另存为 JSONField 在测试数据库中。只需将字段传递为JSON,它就会存储在Unicode数据类型中。我坚持这一点。

0 投票
5 回答
18052 浏览

python - 向构造函数传递太多参数是否被视为反模式?

我正在考虑使用 factory_boy 库进行 API 测试。文档中的一个示例是:

为此,我们需要将first_name,last_name等作为参数传递__init__()base.User() class. 但是,如果你有很多参数,这会导致类似:

现在的问题是,这种结构是否被认为是反模式,如果是,我有什么替代方案?

谢谢

0 投票
1 回答
143 浏览

django - 将多个处理器与 django-nose 一起使用会产生 DatabaseError

我正在尝试使用django-nose多个处理器运行我们的测试套件以减少运行时。所有测试都使用 1 个处理器通过,但使用多个处理器会产生DatabaseError: server closed the connection unexpectedly

我发现有两个测试在使用多个处理器单独运行时,90% 的时间都失败了。AUserFactory正在使用accounts_user并且 aCustomerFactory正在使用accounts_customer。请注意传递日志中的最终目标是在事务关闭之前完成的UPDATEaccounts_customer失败的日志中,这UPDATE永远accounts_customer不会发生,因为事务已经关闭,导致DatabaseError: server closed the connection unexpectedly

我正在尝试确定导致问题的原因。我认为问题很可能与 django 或 postgres 处理事务的方式有关,但它可能是以下任何一种。

通过postgres 日志:

失败的postgres日志:

堆栈跟踪:

0 投票
3 回答
7562 浏览

python - 如何使用 Factory Boy 和 Flask-SQLAlchemy 设置依赖工厂?

使用带有 Flask-SQLAlchemy 和外键约束的工厂男孩的正确方法是什么?

考虑以下 Flask SQLAlchemy 模型设置:

创建新用户时,用户模式需要组外键。 由于组主键是从数据库中分配的,因此工厂需要提交组条目并获取该条目的主键,以便将其提供给新用户。

如何创建组,将其保存到数据库,并将其提供给用户工厂的密钥?

Factory Boy 有处理外键的示例,但它们似乎不适用于 SQLAlchemy。以下是工厂和故障点:

0 投票
1 回答
1751 浏览

python - faker (python) 在 shell 中随机化,但不在 DjangoModelFactory 对象中

我有一些使用faker(http://www.joke2k.net/faker/)进行单元测试的模型,它在shell中是随机的:

播种是可选的。但是当我制作一个新对象时,我总是会发现它发出了相同的电子邮件:

模型看起来像:

../users.py:

现在我有:

这没有任何区别。如何在 shell 中随机化一些东西,而不是在创建对象时随机化,即使提供了种子?谢谢