Tôi muốn sử dụng Guice trong lớp kiểm tra JUnit sau để tiêm phụ thuộc giả, cụ thể là resource
. Tôi có thể làm cái này như thế nào?Làm thế nào để Mock tiêm Dependencies
thử nghiệm
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);
}
}
Bạn có muốn đưa DAO vào thử nghiệm đơn vị không? Hoặc là bạn đã tiêm DAO vào lớp bạn đang thực sự thử nghiệm? – rmlan
Xin lỗi, tôi cần phải tiêm 'Tài nguyên' vào bài kiểm tra đơn vị, và giả lập' DAO' bên trong 'Tài nguyên 'đã được tiêm – Ari
Bạn có thể hiển thị mã cho Tài nguyên không? DAO được khai báo/sử dụng như thế nào? – rmlan