test_ .pySuper
Super turns your unit tests into proven guarantees.
Never miss an edge case again.
Test infinite possibilities, all at once.
One test. Every possible input.
Proved across the whole codebase.
A unit test checks examples. A supertest defines how your software must behave for every possible input.
from schematic import *@supertestdef reversing_twice_restores_text(text: str): backward = reverse(text) forward = reverse(backward) assert forward == textAdding @supertest turns a regular test into a supertest.
The input text covers every possible string, not just a few examples.
Assert or throw an exception just as you would in a regular unit test. Super handles the rest.
See Super in action
Use the Super CLI to check supertests against exact commits. It follows each check live, surfaces problems with reproducible evidence, and helps you fix and recheck the affected behavior.
mainRun super check supertests/normalize_spaces.py. The same live view changes from checking to fail for normalizing_twice_changes_nothing. The counterexample is a followed by three spaces and b: the first call leaves two spaces, and the second leaves one. Run super fix --check 1 to review the patch, type y, and press Enter to apply it. The changes are uncommitted. Run super check --problems, type y and press Enter to include the changes, and follow the checking progress until the result is pass.
Give Super the behavior your software must preserve. Get a verified guarantee, or the exact input that breaks it.
Get access