logoalt Hacker News

Programmable Property-Based Testing

23 pointsby matt_dyesterday at 10:22 PM2 commentsview on HN

Comments

skybriantoday at 1:50 AM

Possibly of interest since it seems vaguely similar: I wrote my own property-testing framework for TypeScript that allows you to write arbitrary code provided that it's deterministic, so you don't need to mess with combinators as much. (Somewhat inspired by how React does it.)

Example:

   const point = arb.from((pick) => {
      const x = pick(arb.int(0, 100));
      const y = pick(arb.int(0, 100));
      return { x, y };
   });
https://github.com/skybrian/repeat-test/blob/0567a73f07ada6e...

It also lets you parse objects instead of generating them if you define a Domain instead of an Arbitrary, which I haven't actually needed much, but seems neat.

It does some shrinking without having to implement anything extra, but I haven't done anything with code coverage-guided generation. I'd like to try that sometime.

alpaylantoday at 12:44 AM

Author here! Let me know if I can contribute to the discussion.