I’ll now transcribe the responses, since they were interesting (though I feel like this transcription should be automatable):
Valentin:
- I’m not aware of any package explicitly for property based testing (though I’ve worked on a prototype I’m not happy with)
- In julia, traits are mostly used to encode extra information that’s not part of the type, to change or control dispatch more finely grained
most of the time, regular dispatch and duck typing is enough though
Boston Gelwan: Development with Interface Packages · Invenia Blog
When I brought up RandomizedPropertyTest, Valentin pointed out that it has a serious shortcoming:
RandomizedPropertyTest.jl does type based generation and no shrinking, sadly
in julia we don’t really have the same kind of type information as Haskell, so type based shrinking doesn’t come for free for composite types
Integrated vs type based shrinking - Hypothesis
Drew Dolgert also volunteered a very nice summary of the testing libraries out there, and which I’ll paste in a reply below; Drew also mentioned a test reduction package that’s worth noting: see GitHub - maleadt/creduce_julia and ANN: Automatic test-case reduction and Bugs in Julia with AFL and C-Reduce · maleadt
Finally, one unit-testing framework that isn’t already in Drew’s notes, and which seems worth being aware of, is