It was not until after a few years of being a dev that I understood why you need good unit tests. Unit tests are usually a pain, or so I thought. Why do you need to test the code, that you have already verified as working??
The problem comes when it’s maintenance time. And all code goes through maintenance either by you or someone else. Unit tests are a superhero when it comes to making sure any change does not break functionality. I understood this the hard way, I hope you don’t have to.
Here are some more advantages, that I personally like about unit testing.
- You don’t have to build other components to figure out basic functionality has broken.
- The code naturally improves using proper interfaces to accomodate unit tests.
- If basic functionality is broken you know immediately.
- You do not need to write features, copy/paste jars or dlls to know whether your code works properly.
If your a Java dev, here’s a great 60 second tutorial to start you off in JUnit 4.