मैं नकली निर्भरताओं को इंजेक्ट करने के लिए निम्नलिखित JUnit परीक्षण कक्षा में Guice का उपयोग करना चाहता हूं, विशेष रूप से resource
। मैं यह कैसे कर सकता हूँ?इंजेक्शन निर्भरता को कैसे मॉक करें
टेस्ट
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));
}
}
संसाधन
@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);
}
}
क्या आप इकाई परीक्षण में डीएओ इंजेक्ट करना चाहते हैं? या आप पहले से ही कक्षा में डीएओ इंजेक्शन कर रहे हैं जिसका आप वास्तव में परीक्षण कर रहे हैं? – rmlan
क्षमा करें, मुझे यूनिट परीक्षण में 'संसाधन' इंजेक्ट करने की आवश्यकता है, और 'डीएओ' इंजेक्शन 'संसाधन' – Ari
के भीतर नकल करने की आवश्यकता है क्या आप संसाधन के लिए कोड दिखा सकते हैं? डीएओ घोषित/उपयोग कैसे किया जाता है? – rmlan