Valentin Chaboche is an academic student at the University of Paris. He graduated in a master focused in functional programming languages, with an internship at Nomadic Labs.
Let’s be honest, OCaml developers distrust tests! They prefer more formal, but also more time-consuming methods, such as program proof. But, in reality, testing is a must in large-scale industrial software development. With snapshot testing, a function’s output is “snapshotted” and after modification such as refactoring, the test framework ensures that its output did not change. However, snapshot testing requires the developer to write scenarios by hand. We introduce osnap: a snapshot-testing library, with random scenario generation, execution, and behavioural change detection – inspired by property-based testing (“à la” QuickCheck). Using osnap, developers have a painless way to massively generate software regression tests.