When writing code, it can be hard to know (let alone prove) that the code you wrote does the right thing. Does it handle input correctly? Does it fail gracefully when it’s given bad data? Does it deal with edge cases the way you expected?
This is a companion discussion topic for the original entry at https://happycoding.io/tutorials/java/unit-testing