# Trying to figure out what testing etc libraries I should be using for julia

**URL:** <https://discourse.julialang.org/t/trying-to-figure-out-what-testing-etc-libraries-i-should-be-using-for-julia/56429>\
**Category:** General Usage\
**Created:** [March 3, 2021, 6:12pm UTC](https://discourse.julialang.org/t/trying-to-figure-out-what-testing-etc-libraries-i-should-be-using-for-julia/56429 "2021-03-03T18:12:13Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ymh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ymh/32/14650_2.png) [@ymh](https://discourse.julialang.org/u/ymh)\
**Post date:** [March 3, 2021, 9:55pm UTC](https://discourse.julialang.org/t/trying-to-figure-out-what-testing-etc-libraries-i-should-be-using-for-julia/56429/2 "2021-03-03T21:55:02Z")

</div>

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](https://invenia.github.io/blog/2020/11/06/interfacetesting/)

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](https://hypothesis.works/articles/integrated-shrinking/)

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](https://github.com/maleadt/creduce_julia) and [ANN: Automatic test-case reduction](https://discourse.julialang.org/t/ann-automatic-test-case-reduction/17700) and [Bugs in Julia with AFL and C-Reduce · maleadt](https://blog.maleadt.net/2018/11/16/julia_bugs/)

Finally, one unit-testing framework that isn’t already in Drew’s notes, and which seems worth being aware of, is

> **[GitHub - maleadt/XUnit.jl: XUnit.jl is a unit-testing framework for Julia.](https://github.com/maleadt/XUnit.jl)**
>
> XUnit.jl is a unit-testing framework for Julia. Contribute to maleadt/XUnit.jl development by creating an account on GitHub.

---

_[View the full topic](https://discourse.julialang.org/t/trying-to-figure-out-what-testing-etc-libraries-i-should-be-using-for-julia/56429)._
