The down side is that black box tests usually require lots of set up. You find yourself creating lots of domain objects and configuring them and attaching them to each other etc. The up side is that you get lots of coverage in a few tests. Now you can change the code with tests in place. By this I mean that you must change your mindset.
Many people think of testing as proving the code works.
Often times we think that since we have already shown that this code works in some way then we don't need to write unit tests so we don't need to even bring up JUnit. Disassociate JUnit from testing. All rights reserved.