Skip to content

hyperpape/jiminy-thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jiminy-Thesis

Roughly speaking, a Java port of minithesis, a minimal property based testing library for educational purposes.

minithesis supports roughly the following features, more or less in order of most to least important:

  1. Test case generation.
  2. Test case reduction (“shrinking”)
  3. A small library of primitive possibilities (generators) and combinators.
  4. A Test case database for replay between runs.
  5. Targeted property-based testing
  6. A caching layer for mapping choice sequences to outcomes

jiminy-thesis currently supports 1-4. I’ve additionally added coverage based test-case generation.

Implementation

The implementation is close to minithesis for the features included, though there are various TODOs and some details may be different/missed. The biggest difference is that the library internals minimize the use of exceptions for control flow. This may well be a mistake, but it is my mistake.

The example database is written to target/minithesis-cache. If that target does not exist or is not writeable, then an exception will be logged, but operation should continue.

About

A Java port of minithesis

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published