För Java finns ju flera gratisramverk på code.google.com, t.ex. PowerMock, som bl.a. stödjer mocks av statiska metoder ihop med JUnit, är ju rätt uppenbart att sådant måste finnas.
Jag har undervisat OOP och gjort massor med OOP i C++ och Java, fast det var på 90- och 00-talet. Är väldigt bekant med den ursprungliga Design Patterns boken från 1994. Men dels har OOP alltid varit överanvänt och innan mitten av 00-talet var multi-core CPUer något som i princip bara fanns i extremt dyra system, inte något som finns i den billigaste lilla enhet, numera är ju till och med en 400kr RPi multicore. Av alla tänkbara sätt att programmera dessa multicore enheter måste OOP vara det absolut sämsta.
Modulär kod är helt ortogonal mot om man använder OO-, funktionell- eller procedurell-programmering. Kod som är enkel att integrera är typiskt funktioner som helt saknar implicit tillstånd och därmed bara beror av sina argument (d.v.s. inte metoder), men viktigast är att designa interface som är minimalistiska, koherenta i sin abstraktionsnivå och löser ett eller i alla fall väldigt få specifika problem, åter igen helt oberoende av typ av språk/programmeringsparadigm. I OOP är polymorfism baserat på typ (via arv) något som gång på gång visat sig motverka modularitet och göra designer stelare, polymorfism och därmed arv är ju en annan av grundstenarna i OOP. Polymorfism är definitivt något bra, felet i OOP är att det är så hårt knutet till arv när det finns så väldigt många andra selektorer än typ som borde kunna användas.
OOP är inte värdelöst på något sätt, men det borde vara ett specialverktyg för de relativt få fall det faktiskt passar i stället för att vara förvalet i alla lägen där det inte är totalt omöjligt, vilket har varit fallet under ganska lång tid nu.
För tillfället skriver jag kod som ska passera DO-178C level A, det är skrivet i C där allt kan anses vara "statiska" metoder. Kravet för testning här är att man testar varje möjlig permutation av villkorad körning som kan ändra sekvensen av satser, inte helt trivialt att skriva sådana tester men det är fullt möjligt utan några specialverktyg utöver GCC (stora bokstäver så det är alla verktyg som ingår, inte bara kompilatorn gcc), autotools och make.