Abbiamo un test che estende JerseyTest e abbiamo bisogno di un servizio di simulazione in esso iniettato. Come possiamo farlo?Maglia di prova unitaria con Mazzi
Grazie
Abbiamo un test che estende JerseyTest e abbiamo bisogno di un servizio di simulazione in esso iniettato. Come possiamo farlo?Maglia di prova unitaria con Mazzi
Grazie
Edit: questa soluzione funziona solo con Jersey 1.x, ed è quindi del tutto superata.
Si riferisce alla libreria http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/.
Se si utilizza Spring, è possibile estendere AbstractSpringAwareJerseyTest anziché JerseyTest e iniettare tutto ciò di cui si ha bisogno.
Come richiesto, un piccolo frammento di codice:
public class MyClassTest extends AbstractSpringAwareJerseyTest{
@Autowired
private LdapSetupAndTearDown ldapSetupAndTearDown;
@Before
public void setUp2() throws Exception {
ldapSetupAndTearDown.setUp();
}
@After
public void tearDown2() throws Exception {
ldapSetupAndTearDown.tearDown();
}
public MyClassTest() throws Exception {
super(new WebAppDescriptor.Builder()
.contextPath("JSONUserServiceTest")
.contextParam("contextConfigLocation",
"classpath:/ctx-config-test.xml,classpath:/ctx-core.xml, classpath:/ctx-jmx-test.xml, classpath:ctx-jersey.xml, classpath:ctx-ldap.xml, classpath:ctx-ldap-test.xml")
.servletClass(SpringServlet.class).contextListenerClass(ContextLoaderListener.class).build());
}
Credo che punti a: http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/ Non ho funzionato, però. –
Esattamente, questo tutorial mi ha portato a questa soluzione e funziona perfettamente. Grazie per la precisione. –
Ti piacerebbe elaborare come i fagioli '@ Autowired' vengono iniettati nella classe di test (hai annotato alcuni' @ RunWith', ad esempio)? Potresti passare un semplice esempio della tua lezione di test qui? –
uno nuovo Jersey su di me. Pensavo che tutti usassero JUnit o TestNG. – duffymo
Estensione di JerseyTest consente di aggiungere annotazioni JUnit @Test regolari, ma non so come iniettare un servizio Mock nella configurazione Spring utilizzata da jersey-spring. qualche idea? – alecswan
Hai davvero bisogno di iniettare mockito quando ha solo metodi statici? – Spoike