Closed baer closed 8 years ago
Huh... this looks really cool. I think it'd take a bit for me to dig in and figure out what it'd look like to write tests this way. But I like the idea of validating all possible inputs for a given function.
It would be an addition not a replacement to the current tooling. I've not used it myself yet but it's gotten some string reviews and people seem to really love QuickCheck. We'd have to do some poking around to see if this makes sense.
Finally looked into this, and it seems impractical for the types of things we need to test. Going to focus on 1) unit tests, and 2) functional tests.
Haskell's QuickCheck for JavaScript jsVerify seems like it could be really well used here. In short it is a tool where you define the properties of your output rather than the value itself. Doing so allows it to test random inputs and verify their outputs which can help identify edge cases.
This tool/technique lends itself to pure functions and comes from the functional world so it may be well suited to some of the areas of this project.