Skip to content

Philosophy

BlackBox is designed around these objectives:

  • generating tests
  • composition

Generating tests is what Property Based Testing is all about. But BlackBox takes it a step further as not every part of a program can be tested with properties. Sometimes different parts of a program should be tested with the same test.

That's why BlackBox uses Generators to provide tests/proofs. You can generate new ones on the fly. It can handle any number.

Composition is a building block to create any data sets. But it also applies to every part of the framework. It doesn't use any global state.

This allows the framework to test itself. To be used in other frameworks such as PHPUnit. Or even create functions to generate tests.