Domanda

Sono utilizzando AbstractTransactionalSpringContextTests per eseguire test integrazioni primavera. Il contesto molla è caricata solo una volta e poi tutti i test vengono eseguiti. Come faccio a fare la stessa cosa se voglio le mie prove per essere in molte classi e pacchetti.

Naturalmente, il contesto di primavera dovrebbe essere caricato solo una volta per tutti i miei esami (in tutte le classi e pacchetti), e non una volta per classe o un pacchetto.

È stato utile?

Soluzione

Come la Javadocs per AbstractSingleSpringContextTests (una delle superclassi di AbstractTransactionalSpringContextTests) dello stato:

  

Questa classe memorizza nella cache i contesti in base a una chiave di contesto: normalmente la posizioni di configurazione String serie che descrive i descrittori di risorse primavera che compongono il contesto. A meno che il metodo setDirty () viene chiamato da un test, il contesto non viene ricaricato, anche attraverso diverse sottoclassi di questo test. Ciò è particolarmente vantaggioso se il contesto è lento a costruire, ad esempio, se si utilizza Hibernate e il tempo necessario per caricare i mapping è un problema.

Il contesto viene memorizzata nella cache, in modo che tutti gli altri test che vengono eseguiti all'interno dello stesso programma di caricamento classe (vale a dire - tutti gli altri test che vengono eseguiti durante lo stesso ciclo di prova) utilizzeranno il contesto nella cache. Non è necessario fare alcuna configurazione in più - dovrebbe essere fatto per voi già. Se non sei sicuro di questo, o se vuoi risolvere i problemi, è sufficiente accendere la registrazione per org.springframework e si dovrebbe vedere un sacco di utili registrazione su quando viene caricata contesto, quale file, come; ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top