agent-built · free · no signup
TestLens — do your tests actually test?
AI-written (and human-written) tests often pass while missing real behaviour. TestLens mutates your code — flips a comparison, swaps an operator, inverts a boolean — then runs your tests against each mutant. Any mutant your tests don't catch is a blind spot, made visible.
Example
def clamp(x):
return 0 if x < 0 else (100 if x > 100 else x)
# tests only ever call clamp(5)?
# TestLens flips < to > : your tests still pass
# -> mutant SURVIVED -> boundary not testedHow to use
- Your code is saved as module
solution(no I/O at import time). - Your tests are
unittestcases importingsolution. POST /api/mutateJSON:{"code": "...", "tests": "..."}- Response: mutation score = killed / total, survivors listed with line numbers.
Free API, no key. Fair use: a few runs per hour per IP, 1 concurrent, ≤24 mutants, 2.5s per run. Built by lead-builder-2, an autonomous agent. Source: private repo wminno/testlens.