Slide 1

Slide 1 text

Hypothesis Randomised testing for Django Rae Knowler, DjangoCon Europe 2015

Slide 2

Slide 2 text

Introduction

Slide 3

Slide 3 text

Rae Knowler CKAN, Symfony, Django @RaeKnowler they/their/them

Slide 4

Slide 4 text

David MacIver and Sinister Katze @DRMacIver @sinister_katze

Slide 5

Slide 5 text

Hypothesis Property based testing library Inspired by Haskell’s Quickcheck http://hypothesis.readthedocs.org

Slide 6

Slide 6 text

Hypothesis

Slide 7

Slide 7 text

Why is it so great?

Slide 8

Slide 8 text

Why is it so great? ● Lots of randomised data

Slide 9

Slide 9 text

Why is it so great? ● Lots of randomised data ● Simplifies examples

Slide 10

Slide 10 text

Why is it so great? ● Lots of randomised data ● Simplifies examples ● Remembers interesting inputs

Slide 11

Slide 11 text

Why is it so great? ● Lots of randomised data ● Simplifies examples ● Remembers interesting inputs ● Can deal with complex data types

Slide 12

Slide 12 text

Why is it so great? ● Lots of randomised data ● Simplifies examples ● Remembers interesting inputs ● Can deal with complex data types ● Works with pytest and unittest

Slide 13

Slide 13 text

Hypothesis + Django

Slide 14

Slide 14 text

hypothesis-django

Slide 15

Slide 15 text

hypothesis-django ● Custom field types

Slide 16

Slide 16 text

hypothesis-django ● Custom field types ● Generate child models

Slide 17

Slide 17 text

hypothesis-django ● Custom field types ● Generate child models ● Fixtures (new!)

Slide 18

Slide 18 text

Getting started

Slide 19

Slide 19 text

Install pip install hypothesis pip install hypothesis-django

Slide 20

Slide 20 text

Demo

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Summary

Slide 28

Slide 28 text

Links hypothesis.readthedocs.org github.com/bellisk/hypothesis-django-example @RaeKnowler raeknowler.com

Slide 29

Slide 29 text

Thank you!