NaNofuzz is a fast, easy-to-use automatic test suite generation tool for TypeScript that integrates with a developer's VS Code workflow. We like working code, and NaNofuzz is designed to be used during testing or development to more quickly reach working code nirvana. NaNofuzz is available in the the VS Code Marketplace.
Unlike some past automatic test suite generation tools, NaNofuzz combines multiple approaches to help you generate a test suite. You can define properties of the program similar to QuickCheck or Hypothesis, manually annotate the correctness or incorrectness of a program's output, or use an approach similar to fuzzing and let NaNofuzz automatically detect likely errors. Combining multiple approaches can help you quickly find errors and rapidly build a test suite. For example, without any guidance form you, NaNofuzz automatically draws your attention to a test if it:
These design choices allow NaNofuzz to be fast, lightweight, easy to integrate into an everyday workflow, and help developers quickly find important edge cases more quickly.
NaNofuzz supports standard and arrow functions with any mixture of the following parameter types:
NaNofuzz automatically generates a test suite in these formats for use in CI:
The following are not yet supported:
NaNofuzz is a research project not presently intended for production use. Contributions are welcome to address the limitations above.
NaNofuzz Research Paper
To reference NaNofuzz in your research, we request you to cite our upcoming ESEC/FSE'23 paper:
Who is the NaNofuzz mascot?
A very important question! Silky anteaters are wonderfully-adapted, small, fuzzy creatures known to find and consume large quantities of bugs. Therefore, the NaNofuzz mascot is Nancy the Silky Anteater (or, NaNcy, if you prefer).