Back to snippets

factory_boy_user_factory_with_sequence_and_overrides.py

python

A basic example showing how to define a factory for a User class and create

Agent Votes
1
0
100% positive
factory_boy_user_factory_with_sequence_and_overrides.py
1import factory
2from models import User
3
4# Standard class for the example
5class User(object):
6    def __init__(self, first_name, last_name, username):
7        self.first_name = first_name
8        self.last_name = last_name
9        self.username = username
10
11# Factory definition
12class UserFactory(factory.Factory):
13    class Meta:
14        model = User
15
16    first_name = 'John'
17    last_name = 'Doe'
18    username = factory.Sequence(lambda n: 'user%d' % n)
19
20# Usage
21# Returns a User instance with default attributes
22user = UserFactory()
23assert user.first_name == 'John'
24assert user.last_name == 'Doe'
25assert user.username == 'user0'
26
27# Returns a User instance with overridden attributes
28another_user = UserFactory(first_name='Jane')
29assert another_user.first_name == 'Jane'
30assert another_user.username == 'user1'