Ho riscontrato un'eccezione "Dipendenza mancante" durante l'esecuzione di resourceTest utilizzando Dropwizard: 0.6.1 (jersey 1.15), qualcuno ha esperienza in questo caso?Dropwizard/Jersey: manca la dipendenza per il metodo pubblico durante l'esecuzione dei test
mio file di prova:
public class MyResourceImplTest extends ResourceTest {
........
@Override
protected void setUpResources() throws Exception {
addResource(new MyResourceImpl(new myConfiguration()));
}
}
Eccezione:
Dec 13, 2012 2:10:41 PM com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory$InMemoryTestContainer <init>
INFO: Creating low level InMemory test container configured at the base URI http://localhost:9998/
Dec 13, 2012 2:10:42 PM com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory$InMemoryTestContainer start
INFO: Starting low level InMemory test container
Dec 13, 2012 2:10:42 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.15 10/30/2012 02:40 PM'
Dec 13, 2012 2:10:42 PM com.sun.jersey.spi.inject.Errors processErrorMessages
SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public javax.ws.rs.core.StreamingOutput com.****************.********(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String) at parameter at index 0
Dec 13, 2012 2:10:42 PM com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory$InMemoryTestContainer stop
INFO: Stopping low level InMemory test container
Hai capito? Sto facendo il tifo con qualcosa di simile – Kimble
Sì, il mio problema era che, ho iniettato una HttpServletRequest che è supportata dal contenitore InMemory, in questo caso è necessario utilizzare jetty grizzlyWebTestContainer o jetty. Ma alla fine della giornata, ho finito per scrivere un test di integrazione usando python per testare i miei servizi web. Risulta molto più facile. – Shengjie