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

django - 使用 factory_boy 测试 django 帖子

我刚开始在测试中使用Factory boy,效果很好。

我想测试 crud 视图,所以在某些时候,我需要发布数据(以 json 格式)以进行创建和更新操作。

我希望我的测试内容类似于:

这显然不起作用。我明白<factory.containers.StubObject object at 0x7ffa34e375d0> is not JSON serializable 了有什么办法吗?还是我需要自己填写所有帖子数据?(我没有测试表单本身或验证,只是发布响应。

干杯

0 投票
0 回答
125 浏览

python - 为什么 factory-boy 中 RelatedFactory 变量的命名会影响工厂执行/实例化的时间?

当我命名我的 RelatedFactory variablespv_something时,工厂不会在post_generation方法之后运行。当我将变量重命名为它们时,param_val_something它们将在post_generation方法之前运行。

在下面的代码中,RelatedFactory直到 after 才运行post_generation,所以self.something_set.all()是空的,并且该行t.something_else = 'abc'永远不会执行。

在以下代码中,唯一的区别是将变量重命名pv_somethingparam_val_something. 现在,self.something_set.all()不为空,并且该行t.something_else = 'abc' 执行

我正在使用 Python 3.4.3、Django 1.8.5 和 factory-boy 2.5.2。

星期五晚上的午夜,这几乎把我逼到了边缘..

0 投票
1 回答
794 浏览

python - 是否可以使用夹具参数化测试?

我想传递的@pytest.mark.parametrize不是特定的值,而是固定装置。像这样。

给定一个conftest:

在我的 test.py 中,这当然有效:

这不会:

我知道,在这种微不足道的情况下,我可以只创建一个名称夹具并将夹具参数化,但在某些情况下这是不可取的。

我发现的一种解决方法是使用pytest_factoryboy's LazyFixture。但是,我经常无法在我的测试中访问lazyfixtures 属性。

0 投票
2 回答
5495 浏览

django - 工厂男孩:定义依赖于其他字段的字段

如何定义一个依赖于其他字段的字段factory-boy

例如,我想定义一个email依赖于first nameandlast name的 an User

我尝试使用post_generation装饰器。但是,我的系统需要在创建实例之前定义电子邮件。

0 投票
1 回答
309 浏览

python - 将函数应用于faker

所以我有一个这样的对象:

我想将函数 'formatted_number' 应用于 'number'

如果我申请:

它不会将该函数应用于 Faker 的输出,它只会将 Faker 对象作为输入。惰性属性会导致同样的问题。如何将格式化功能应用于 faker 对象?

0 投票
1 回答
992 浏览

python - Python错误NameError:未定义全局名称'user'

嗨,我是 python 新手,正在尝试编写工厂男孩测试,但收到此错误

self.client.login(username=user.first_name, password='abc')
NameError: global name 'user' is not defined

0 投票
1 回答
109 浏览

python - 使用 **kwargs 在工厂男孩测试中调用函数

我正在尝试编写一个测试,在该测试中我必须调用一个接受 **kwargs 的模型函数,这是来自我的模型的函数

这就是我试图在测试中访问这个提及功能的地方

并收到此错误TypeError: send_message() 至少需要 4 个参数(给定 2 个)

0 投票
3 回答
2255 浏览

python - Factory Boy subfactory over 'self'

Does anyone know how to create the factory in factoryboy based on this models.py

Notice the 'self'? (And YES this type of relation is necesarry.)

I have tried several things in FactoryBoy (SubFactory, RelatedFactory, SelfAtribute, PostGeneration) but I can't get it to work.

one of the attempts in a factories.py

Any advice?

Thank you.

0 投票
1 回答
661 浏览

python - FactoryBoy 覆盖属性

我想将 FactoryBoy 与用户/配置文件模式一起使用,如其文档中所述。

现在我希望能够通过仅提供用户名来创建用户

并自动获取用户名作为配置文件中的 first_name ( ='Alice')

或 first_name 之类的

='bob'并根据给定的 first_name获取用户名 ( )

或者,如果我很活泼,提供用户名和名字,当然保留两者

到目前为止,我还没有找到实施这种行为的合适地点。我尝试了覆盖_generate(),但发现这不是正确的位置,因为此时我的惰性属性已经触发。我也无法覆盖__call__()__new__()在我的UserFactory.

也许这都是因为我对 python 还很陌生,所以我会感谢任何帮助我朝着正确方向前进的帮助。

0 投票
1 回答
1030 浏览

model - Factory Boy 可以像 Model Mommy 那样自动生成 Django 模型字段值吗?

通过使用Model Mommy,您不必设置您使用的每个 Model 字段,Model Mommy 会自动为您设置它们。

但是在Factory Boy中,如果要在测试中使用某些字段,则必须在 ModelFactory 类中显式设置它们的值。

我的问题是:Factory Boy 可以像 Model Mommy 那样自动生成 Model 字段值吗?