Mi piacerebbe utilizzare Guice nella seguente classe di test JUnit per iniettare dipendenze fittizie, in particolare lo resource
. Come posso fare questo?Come fingere dipendenze iniettate
prova
public class SampleResourceTest extends ResourceTest {
@Override
protected void setUpResources() throws Exception {
// when(dao.getSample(eq("SIP"), eq("GA"))).thenReturn(sam);
addResource(new SampleResource());
}
@Test
public void getSampleTest() {
Assert.assertEquals(sam, client().resource("/sample/SIP/GA").get(Sample.class));
}
}
Resource
@Path("/sample")
@Produces(MediaType.APPLICATION_JSON)
public class SampleResource {
@Inject
private SampleDao samDao;
@GET
@Path("/{sample}/{id}")
public Sample getSample(@PathParam("id") String id) {
return samDao.fetch(id);
}
}
Si desidera iniettare il DAO nel test dell'unità? O stai già iniettando il DAO nella classe che stai testando? – rmlan
Spiacente, ho bisogno di iniettare il 'Resource' nel test unitario e prendere in giro il' DAO' all'interno del 'Resource' inietto' – Ari
Puoi mostrare il codice per la Risorsa? Come viene dichiarato/utilizzato DAO? – rmlan