Ich möchte Guice in der folgenden JUnit-Testklasse verwenden, um Scheinabhängigkeiten zu injizieren, speziell die resource
. Wie kann ich das machen?Wie man injizierte Abhängigkeiten verspottet
-Test
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));
}
}
Ressourcen
@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);
}
}
Möchten Sie das DAO in den Komponententest injizieren? Oder spritzt du die DAO bereits in die Klasse ein, die du gerade testetest? – rmlan
Tut mir leid, ich muss die "Ressource" in den Komponententest injizieren und das 'DAO' in der injizierten' Ressource' verspotten. – Ari
Kannst du Code für die Ressource anzeigen? Wie wird die DAO deklariert? – rmlan