1. Sugeruję stosować się do konwencji pisania testów z komentarzami given-when-then, co jest pokazane np. tutaj: http://monkeyisland.pl/2009/12/07/given-when-then-forever. Dzięki temu unikniemy zagmatwanych testów w przyszłości, a testy jednostkowe będą jednostkowe a nie funkcjonalne ;) Idea jest ogólnie taka, żeby na początku junit testu przygotować potrzebne obiekty, potem wykonać właściwą część testu, a na końcu sprawdzić wynik (w Twoim kodzie jest to trochę wymieszane).
2. Łapanie wyjątków żeby failować nie jest moim zdaniem najlepszym podejściem. Jeśli będzie rzucony wyjątek, i tak test nie przejdzie. Jeśli potrzeba jest przetestowania rzucania konkretnego wyjątku, można zastosować podejścia jak tutaj: http://c2.com/cgi/wiki?CodingJavaUnitExceptionTests