Patterns¶
Patterns¶
Use N function for unit tests (not integration tests) for the main model.
Use G function instead of N for shelving configurations. It helps to identify errors.
Use ignore_fields option to deal with fields filled by listeners.
Use custom values for unsupported fields.
Use default lesson for unsupported fields with a custom function that generated data.
Use fill_nullable_fields for unsupported nullable fields.
Use fk_min_depth option to test trees.
[Automated Test Patterns](http://www.teses.usp.br/teses/disponiveis/45/45134/tde-02042012-120707/pt-br.php) (in Portuguese)
Anti-Patterns¶
Using auto generated data in an assertion method.
Shelving a static value for a field with unique=True. Raise an error.
Overriding a lesson Copier with None.
Using Copier to fix a bad design of the code.
Too many named lessons configurations.
Mix data fixture algorithms in the same test suite.
Use default and custom lessons to avoid fixing a messy architecture.
Extensive use of global set up: setup suite (from DDF), setup module and setup class (from unittest2).
A good automated test¶
Simple
Legible
Repeatable
Independent
Isolated
Useful
Unique
Accurate
Professional
Fast