我對junit mockito非常陌生,並且嘗試使用mockito編寫junit測試用例。使用mockito的JUnit測試用例
這是我的方法,我必須寫一個junit。
public String getAllCookBooks(ChefService chefService, ChefApi chefApi) {
JSONObject cookBooks = null;
cookBooks = new JSONObject();
JSONArray array = null;
array = new JSONArray();
try {
if (null != chefService.listCookbookVersions()) {
LOG.debug(SuccessCode.COOKBOOK_DETAILS_RETRIEVED_SUCCCESS
.getSuccessCode()
+ "::"
+ SuccessCode.COOKBOOK_DETAILS_RETRIEVED_SUCCCESS
.getMessage());
for (CookbookVersion cookbookVersion : chefService
.listCookbookVersions()) {
JSONObject cookBooksDetails = new JSONObject();
cookBooksDetails.put("cookbook_name",
cookbookVersion.getCookbookName());
cookBooksDetails.put("cookbook_version",
cookbookVersion.getVersion());
cookBooksDetails.put("name", cookbookVersion.getName());
array.put(cookBooksDetails);
}
} else {
LOG.info("no cookbook present..."
+ ErrorCode.COOKBOOK_LIST_EMPTY_ERROR.getErrorCode()
+ " : "
+ ErrorCode.COOKBOOK_LIST_EMPTY_ERROR.getMessage());
cookBooks.put("error",
ErrorCode.COOKBOOK_LIST_EMPTY_ERROR.getMessage());
}
cookBooks.put("chef_cookbooks", array);
} catch (JSONException e) {
LOG.warn("JSON Exception "
+ ErrorCode.JSON_PARSE_ERROR.getErrorCode() + " "
+ ErrorCode.JSON_PARSE_ERROR.getMessage());
}
LOG.debug("cookbooks: " + cookBooks.toString());
LOG.info("Ended getAllCookBooks method");
return cookBooks.toString();
}
通過ChefService和ChefApi的方法參數是從的3rdParty API
這裏的電話chefService.listCookbookVersions()
將返回一個類型CookBookVersion類的迭代器像Iterable<? extends CookbookVersion>
我沒有得到如何通過ChefService模擬對象將返回一些值進行比較的方法。
請幫忙。
你沒有使用'chefApi'參數,這使得編寫模擬容易(你只有一兩件事來嘲笑),但使你的代碼不好(你沒有使用你的所有參數,那麼爲什麼它開始? – Makoto
我不明白這個問題。你有沒有試圖編寫你的JUnit測試?什麼不適合你?有什麼,我們可以看看,並嘗試爲您解決? –