In Python è comune avere "doctest" - semplici test all'interno della documentazione di classi e metodi. Il loro principale vantaggio è che possono essere facilmente eseguiti durante la modifica del codice - quando cambio qualche codice, posso eseguire tutti i test con un solo clic, non devo aprire un altro file.
In Java AFAIK non esiste un "doctest", ma una funzionalità simile può essere implementata semplicemente aggiungendo alla classe un metodo "main" con alcuni test documentali di base. Quindi, di nuovo un programmatore che cambia il codice può eseguire immediatamente i test per vedere se qualcosa è rotto.
Non l'ho visto fare spesso. Una possibile ragione è che rende il file di classe leggermente più grande, ma questo sembra trascurabile. Ci sono altri svantaggi di questa pratica?