Slide 1

Slide 1 text

Full Clean Factories James Cooke Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.

Slide 2

Slide 2 text

Outline ● Problem ● Libraries ● Grading factories ● Factory features ● Results

Slide 3

Slide 3 text

Problem

Slide 4

Slide 4 text

Factories ● Django Fakery ● Factory Boy ● Factory Djoy ● Hypothesis[django] ● Mixer ● Model Mommy

Slide 5

Slide 5 text

Grading factories: Test ● Two models: User and Item ● Two factories: UserFactory and ItemFactory ● Create 10 instances class Item(models.Model): name = models.CharField( max_length=1, unique=True)

Slide 6

Slide 6 text

Grading factories: Grades ● RED: Creates invalid instances ● YELLOW: Raises exception ● GREEN: Creates valid instances

Slide 7

Slide 7 text

Factories Factory ItemFactory UserFactory Django Fakery RED YELLOW Factory Boy RED RED Factory Djoy YELLOW GREEN Hypothesis[django] RED RED Mixer GREEN GREEN Model Mommy YELLOW GREEN

Slide 8

Slide 8 text

Final points ● Factories are made of two parts ● Hypothesis could win ● Test code on GitHub: https://github.com/jamescooke/factory_audit/ ● Full write-up tomorrow http://jamescooke.info/

Slide 9

Slide 9 text

Thanks! ● @jamesfublo ● Ask questions ● Let’s talk more about testing ● Thanks for listening! Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.