问题标签 [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 投票
3 回答
2506 浏览

python - factory_boy:添加几个依赖对象

我正在使用 factory_boy 替换 Django 应用程序中的固定装置。我有一个产品模型,它应该有很多优惠和商家。

我想要一个创建具有多个商家和多个报价的产品的工厂。

但是当我使用 ProductFactory 创建一个产品时,它只有一个报价和一个商家。

如何将 ProductFactory 设置为具有多个特定类型的依赖项?

0 投票
1 回答
3110 浏览

python - 为具有 OnetoOne 关系的 Django 模型创建工厂

我正在尝试为具有 OneToOne 关系的 Django 模型设置许多工厂,并且它们的行为方式似乎与外键不同。

运行我的单元测试时,主模型没有设置它的关系。

我的模型:

我的工厂:

在我的测试中,setUp()我正在执行以下操作;

因此,当我运行包含此内容的测试时,我得到了DoesNotExist: ThePlan has no OldPlan.

我在哪里错了?是我create立即打电话的问题,而是我应该设置工厂build,设置关系,然后打电话save

0 投票
1 回答
2313 浏览

django - Django- 工厂男孩无缘无故在一家工厂失败

代码:类 StockFactory(UniqueObjectsFactory): FACTORY_FOR = Stock FACTORY_DJANGO_GET_OR_CREATE = ('name', 'market')

错误:

有什么线索吗?想法?我经常和工厂男孩一起工作,而且大多数时候它是一个很好的工具。但经过数小时的调试,我就是找不到问题

0 投票
2 回答
3686 浏览

sqlalchemy - 如何正确使用带有 SQLAlchemy 会话(延迟加载)的 Factory Boy?

我刚刚遇到了我的测试套件的问题。我正在使用带有鼻子测试、SQLAlchemy、Flask 和 Factory-Boy 的设置

我有以下代码:

女巫返回以下:

我的 UserFactory 看起来像这样:

(是的,我使用的是普通工厂而不是他的 SQLAlchemy 工厂,因为这也不起作用)

为什么我的工厂对象没有存储到数据库中?它不会引发错误,只是不会保存。我的意思是即使当前事务尚未提交,稍后的查询也应该查询实际事务,不是吗?

奇怪的是,当我手动提交会话时,它会引发错误。

即使我在创建会话对象时开始了事务。

知道为什么这不起作用吗?

谢谢你的想法

0 投票
1 回答
3798 浏览

python - 为什么 factory_boy 优于直接在测试中使用 ORM?

我不明白为什么 factory_boy 比直接在 Django 测试中创建 ORM/模型实例更受欢迎。factory_boy 网站几乎没有解释使用它的好处。

作为难以管理、速度慢等的固定装置的替代品,这是有意义的。

但是,为什么不根据测试的需要创建模型实例呢?

如果 factory_boy 完全取代了对数据库的写入,那么很好,我认为在这种情况下它会非常有用,但是 factory boy 创建的 django 模型实例仍然与数据库交互。

另一个潜在的好处是对序列的支持,但在不需要工厂男孩的情况下创建序列/样本数据并不难。

总而言之,与直接创建对象/模型实例相比,使用工厂男孩几乎没有任何好处。

我希望我错过了一些明显的东西!

0 投票
0 回答
197 浏览

python - 从查找表创建测试对象的更好方法?

有没有更好的方法来创建测试对象来表示 Django 应用程序中的 PostgreSQL 查找表?我有三个表,其中第一个是来自 django.contrib.auth.models 的用户模型。第二个表是 UserAccount,它与 User 是一对一的关系:

第三个表是与 UserAccount 具有一对多关系的查找表。它存储 UserAccount 引用的用户类型,并预先填充了注释中显示的三行:

我正在使用 factory_boy 来代表我的测试用户:

这是我的测试:

我在这个测试中遇到的问题是它运行缓慢,因为我必须在 setUp 中访问数据库来查找用户类型。我不能用工厂(我不认为)来表示 UserType 类,因为它已经被填充了。有没有更好的方法来构建这个测试,特别是让它运行得更快的方法?这应该是一个单元测试,所以我希望它尽可能快地运行。谢谢。

0 投票
1 回答
1683 浏览

python - 使用 pip 安装 factory_boy 时遇到问题

我正在做一个 Django 项目。我在另一台机器上设置我的环境,当我运行时pip install factory_boy,我得到以下回溯:

https://gist.github.com/JSweetman/35f59536d6b87a0ce8c0

有谁知道发生了什么?我在同一台机器上安装factory_boy在不同的环境中并且它工作正常,所以我不确定发生了什么。

0 投票
1 回答
491 浏览

django - Django 1.6.5 和 factory_boy 的异常

我决定在我的简单 django 应用程序中使用 factory_boy 进行测试。但是我对简单的例子有疑问。这是我的简单测试的代码。

当 test-runner 执行这个测试时,我得到一个错误:

我哪里错了?factory_boy 支持 django 1.6.5 吗?

0 投票
1 回答
825 浏览

python - Django-Python Django 登录测试失败,使用 factory_boy 和 Authtools

当我想测试登录功能时,我的单元测试失败了。当我在浏览器中测试时就可以了。

我在用着:

没有自定义用户模型。用户模型是 authtools.models.User。

我的看法:

我的工厂:

我的测试:有两个测试。第一个测试客户端登录,第二个测试视图:

两个测试都失败了。但在浏览器中它运行良好。

谢谢。

0 投票
1 回答
89 浏览

python - 使用表条目而不是子工厂

我的 MyUser 类有一个 FactoryBoy 工厂,分配了默认名称和相应的公司:

问题:我有一个指定的可能公司表,我想用它来代替来自CompanyFactory. 有没有办法从这个表中读取一个条目来使用它company而不是 SubFactory?