我正在尝试在我的服务层中的方法中对此代码块进行单元测试。 任何人都可以建议我可以(/应该)在这里测试什么以及如何测试它们(特别是插入数据库部分)。任何指针(/示例代码/ doc)都会非常有用。
if (element != null) {
id = iplDAO.loadGames(element, batchVO.getId());
iplPartyDetailsVO = element.getParty();
if iplPartyDetailsVO != null) {
try {
iplDAO.insertPartyDetails(iplPartyDetailsVO, id, batchVO.getId());
} catch (Exception e) {
logger.logp("className");
String err = "blah";
iplDAO.insertIntoError(err_t);
}
}
答案 0 :(得分:0)
我认为您可能会将测试与模拟混淆,如果您尝试为此服务层代码编写测试,那么您需要确定您的期望是什么,例如:
因此,如果这些 是您对代码的期望,那么您需要编写一个可以验证它们已被满足的测试。
这意味着您正在调用mocking the dependency(在您的情况下是iplDAO对象),以便每个方法调用都返回一些可用于测试您的功能的内容 - 在您的情况下这两个调用:
iplDAO.loadGames(element,batchVO.getId())
和
iplDAO.insertPartyDetails(iplPartyDetailsVO, id,batchVO.getId());
有很多Java mocking libraries可供选择,但它们都有详细记录,但this blog post是一个很好的起点。