Le asserzioni rendono esplicite le ipotesi. I test unitari ben scritti fanno lo stesso, ma in un posto completamente diverso.
Pertanto, le asserzioni, intervallate nella logica, aiutano document il codice e lo rendono più comprensibile. Questo è il modo in cui uso le asserzioni. Questo è utile in particolare quando si implementano algoritmi da descrizioni teoriche, che di solito offrono le asserzioni come parte di una prova di correttezza.
In un certo senso, i test unitari e le asserzioni sono due facce della stessa medaglia: i test unitari cercano di garantire la correttezza attraverso un processo, mentre le asserzioni cercano di garantirlo con la prova.
Inoltre, le asserzioni possono aiutare a eseguire il debug di tali algoritmi perché offrono la risoluzione delle subunità, se lo si desidera. I test unitari invece sono intrinsecamente vincolati a una risoluzione più grossolana. Non possono dirti nulla sullo stato interno di un algoritmo. Avere piccole unità aiuta ma non è sempre possibile.