domenica 21 febbraio 2010

Spring 3 e lo Unit Testing

Ho fatto qualche piccolo passo nello Unit Testing di Spring3
L'ho fatto con JUnit4, in modo da poter sfruttare le annotations.
Uno potrebbe dire: JUnit ha i "classici" eventi di SetUp e TearDown, si usano quelli per istanziare Spring e poi si fanno i test normalmente.
Non è una cattiva idea, peccato che i due eventi vengono lanciati prima e dopo ogni test, quindi per fare 5 test si istanzia e distrugge 5 volte il framework Spring.
E allora come si fa?
Si usa l'annotation @RunWith di JUnit4. Questa annotation permette di invocare, invece del runner standard, il runner specificato. Spring4, nel pacchetto di test, ha il runner SpringJUnit4ClassRunner, quindi l'annotation diventa

@RunWith(SpringJUnit4ClassRunner.class)

OK, e ora come si fa a caricare la configurazione?
Semplice, sempre con l'annotation, questa volta specifica del package Spring Test, @ContextConfiguration
Questa annotation permette di specificare, sia con path relativo che assoluto, quali files usare per i test.
A questo punto basta scrivere i nostri test e, prima che vengano lanciati, verrà lanciato il framework spring con la configurazione specificata.

domenica 14 febbraio 2010

jBPM4

Era un po' che non davo un'occhiata alla jBPM di RedHat.
Mi sono accorto, con gioia, che è uscita la versione 4 della versione Community.
Cosa c'è di nuovo? A me ha colpito una cosa fondamentalmente: la possibilità di interagire tramite API con il sistema.
Finalmente si ha la possibilità, da qualsiasi applicazione, di interrogare il sistema. Addirittura sono state create Api apposite per le Query. Queste API coprono la maggior parte delle necessità: per necessità più specifiche "Developers who need to write company-specific queries can of course still rely on Hibernate." alla maniera degli antichi!
Direi che questa release è un gran bel passo avanti! Son sempre più convinto che mi dovrei gingillare più spesso con quete tecnologie, aprono spazi infiniti...