~/talk

Generating Generators

Talkat Clojure/conj 2014 · 2014-11-20..11-22· [clojure]
slides:none on file

Herbert automatically turns EDN Herbert schemas into test.check generators and also produces predicates via conform? so the same schema can be used to generate inputs and check outputs, with shrinking of failures. Examples include vector-of-ints with binding into gen/elements and regex-constrained strings. Practical limits: generators from schemas handle quantifiers and optional keys but struggle with complex negation/conjunction limitations (filters that cause gen to give up or throw) and there is a known nested binding bug and some performance edge cases.

AI-written summary · about

  1. 0:00Background
  2. 0:50Overview
  3. 2:31Herbert Schemas
  4. 3:34Patterns
  5. 4:47Quantifiers
  6. 5:59Herbert API
  7. 7:47Property-based testing
  8. 11:09Properties
  9. 15:31Generators & Combinators
  10. 18:11Vector and an Element
  11. 21:57Optional Keys
  12. 24:22Bindings
  13. 25:43Property from Schemas
  14. 27:01Herbert check
  15. 29:45Herbert Summary
  16. 31:48Generator Limitations
  17. 35:54To Do
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.