All Projects → FactoryBoy → django-factory_boy

FactoryBoy / django-factory_boy

Licence: other
Uses factory_boy to supply test data factory classes for all stock Django models.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

django_factory_boy

When testing a django app, a common case is to create some data, then test app behavior around that test data. This is usually done with fixtures, but this includes some pain.

factory_boy is useful for concisely creating objects, particularly for test data.

This project will supply factory_boy classes for each model Django ships. The factories are named after the class it constructs. For example, a factory for django.contrib.auth.models.User is available at django_factory_boy.auth.UserFactory.

See factory_boy for detailed docs, but all fields are given default values which can be overriden by passing keyword arguments to the constructor. For example:

from django_factory_boy import auth as auth_factories
user = auth_factories.UserFactory(first_name="test")

would result in a saved User instance whose first_name is set to "test".

The resulting objects are normal django model instances, so once they are constructed you can use them in the normal ways.

Not all django models have been added yet; if you need one, open an issue or a pull request. Currently supported:

  • contrib.auth (UserFactory, GroupFactory, PermissionFactory)
  • contrib.sites (SiteFactory)

This project intends to support all Python versions which Django does - 2.6 - 3.4 as of Django 1.6. It supports all Django versions from 1.6 onwards.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].