Je suis très nouveau à junit mockito et en essayant d'écrire le cas de test junit en utilisant mockito.JUnit cas de test en utilisant mockito
Voici ma méthode pour laquelle je dois écrire un 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();
}
Les arguments de méthode passés ChefService et ChefApi sont de 3rdparty api
ici l'appel chefService.listCookbookVersions()
retournera un itérateur de type classe CookBookVersion comme Iterable<? extends CookbookVersion>
Je ne reçois pas comment passer l'objet simulé ChefService en la méthode qui retournera une valeur à comparer.
Aidez-nous s'il vous plaît.
Vous n'êtes pas en utilisant le paramètre 'chefApi', ce qui rend l'écriture de votre maquette facile (vous avez qu'une seule chose à se moquer), mais fait votre code est mauvais (vous n'utilisez pas tous vos paramètres, alors pourquoi est-il là pour commencer?) – Makoto
Je ne comprends pas la question Avez-vous essayé d'écrire votre test JUnit? Ce qui n'a pas fonctionné pour vous? –