-
-
Notifications
You must be signed in to change notification settings - Fork 68
About
Valder Gallo edited this page Apr 6, 2012
·
20 revisions
A full library to create dynamic model instances for testing purposes.
- It is a TERRIBLE practice to use STATIC data in tests.
- Create dynamic fixture for each model is boring and it produces a lot of replicated code.
- It is a bad idea to use uncontrolled data in tests, like random data.
- We tried to use another fixture tools in a big Django project but the experience was not satisfactory.
- Either they are incomplete, or bugged or it produces erratic tests, because they use random and uncontrolled data.
- Also, the syntax of others tools is too verbose, which polutes the tests.
- Complete, lean and practice documentation.
- It is hard to debug tests with another tools.
- List of other tools: http://djangopackages.com/grids/g/fixtures
- Highly customizable: you can customize fields recursively
- Deal with unique=True
- Deal with cyclic dependencies (including self references)
- Deal with many to many relationship (common M2M or M2M with additional data, i.e. through='table')
- Deal with custom fields (specially if the custom field inherit of a django field)
- It is supported for parallel tests
- Deal with auto calculated attributes
- It is easy to debug errors