次の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);
}
}
ユニットテストにDAOを注入しますか?あるいは、実際にテストしているクラスにDAOを注入していますか? – rmlan
申し訳ありません、私はユニットテストに 'Resource'を注入し、注入された' Resource'の中で 'DAO'をモックする必要があります – Ari
リソースのコードを表示できますか? DAOはどのように宣言/使用されていますか? – rmlan