Scala Love in the City Scala Love in the City
Get your ticket to attend. Join event to build your agenda.

Property-based testing - let your testing library work for you

Software developer at SoftwareMill devoted to doing things "the right way". After hours, leader of Zielona Góra JUG and co-organiser of the Greenfield Conference. After even more hours, she enjoys biking, tap dancing and reading long books.

Don’t ask what you can do for your testing library, ask what it can do for you! So what can it do? It turns out that much more than displaying a nice green and red report. What if we make the library generate the test data? And while we’re at it, maybe it could also think of the edge cases for which our code is wrong? Oh, and when it finds them, it should simplify them a bit before returning to us, so that we can quickly identify the root cause of the problem. And repeat that a thousand times, just to be sure. Sounds good? That’s exactly what property-based testing has to offer. I’ll show how to get started with this kind of testing in Scala, using using ScalaTest and ScalaCheck. But isn’t it all too good to be true, surely there’s some fine print? Of course there is. I’ll cover that as well.