JMockit to kolejny zestaw narzędzi, który pozwala na kpiny z metod statycznych (jak i metod końcowych, konstruktorów itp.).
Nie widzę żadnego problemu z rozsądnym zastosowaniem metod statycznych podczas projektowania rozwiązania OO w przeciwnym razie.
Na przykład jeden wzór/idiom, którego lubię używać, to fasada statyczna , w szczególności w celu zapewnienia prostszego i łatwiejszego w użyciu interfejsu API do podsystemu trwałości w aplikacji biznesowej. Moim zdaniem, żadne inne rozwiązanie jest bardziej elegancki niż coś takiego:
List<Person> peopleAboveAge =
find("select p from Person p where p.age >= ?", age);
gdzie metoda find
statycznie przywieziony z PersistenceFacade
klasy, która określa jedynie metody statyczne, oraz obejmuje w jaki sposób uzyskać właściwą Session instancji/EntityManager. To rozwiązanie jest przyjazne i elastyczne w testowaniu urządzeń. Używałem go w aplikacji biznesowej, która miała ponad 500 trwałych elementów, używając Hibernate. Statyczna fasada pomogła nam po migracji z Hibernate 2 do Hibernate 3, po przejściu z Oracle do Sybase, a następnie z powrotem do Oracle, a kiedy zaczęliśmy używać adnotacji JPA zamiast plików "hbm.xml" do mapowania ORM.
Zobacz powiązane pytanie [Jak kpić z metod statycznych] (http://stackoverflow.com/questions/153048/how-to-mock-with-static-methods). – flicken