Herramientas de usuario

Herramientas del sitio


otros:factoryboy

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
otros:factoryboy [2014/05/22 08:39]
alfred [Factories]
otros:factoryboy [2020/05/09 09:25] (actual)
Línea 77: Línea 77:
 # Build a not saved user overriding its first_name # Build a not saved user overriding its first_name
 user = UserFactory.build(first_name='​Joe'​) user = UserFactory.build(first_name='​Joe'​)
 +# Build ten not saved users named Joe
 +users = USerFactory.build(10,​ first_name="​Joe"​)
 +</​code>​
 +
 +=== Derived values ===
 +We can create a field which is derived from others (this example will put ''​joe.blow@example.com''​ in email field):
 +<code python>
 +class UserFactory(factory.Factory):​
 +    FACTORY_FOR = models.User
 +    first_name = '​Joe'​
 +    last_name = '​Blow'​
 +    email = factory.LazyAttribute(lambda a: '​{0}.{1}@example.com'​.format(a.first_name,​ a.last_name).lower())
 +</​code>​
 +
 +=== Unique values in sequence ===
 +We can create a field which is auto-incremented as:
 +<code python>
 +class UserFactory(factory.Factory):​
 +    FACTORY_FOR = models.User
 +    email = factory.Sequence(lambda n: '​person{0}@example.com'​.format(n))
 +</​code>​
 +
 +=== Associate factories ===
 +We can associate a field with other factory to create other sub instance:
 +<code python>
 +class PostFactory(factory.Factory):​
 +    FACTORY_FOR = models.Post
 +    author = factory.SubFactory(UserFactory)
 </​code>​ </​code>​
otros/factoryboy.1400747996.txt.gz · Última modificación: 2020/05/09 09:25 (editor externo)