There are many question regarding Unit test cases for void returning methods but none of them have satisfactory answer. I have also encountered the same problem while testing a void returning method in my system. How can I decide which strategy should be used to check such methods? In my case Code snippet is like this :
public class MyRequestLogger {
private static final Logger logger_request = LogManager.getLogger("requestLogger");
/**
* @param myRequest
*/
public static void logMyRequest(MyRequest myRequest) {
LogFormatter lf = new LogFormatter();
lf.addField(myRequest.getVisitorId());
lf.addField(myRequest.getRequestIdString());
lf.addField(myRequest.getIpAddress());
GeoLocation geoLocation = myRequest.getGeoLocation();
if (geoLocation == null) {
//Adding blank object to keep the logging consistent
geoLocation = new GeoLocation();
}
lf.addField(geoLocation.getCountry());
lf.addField(geoLocation.getState());
lf.addField(geoLocation.getCity());
lf.addField(myRequest.getWebsiteUrl());
lf.addField(myRequest.getPage());
lf.addField(StringUtils.join(myRequest.getCategories(), ','));
lf.addField(myRequest.getUserAgent());
lf.addField(StringUtils.join(myRequest.getKeywords(), ','));
lf.addField(StringUtils.join(myRequest.getCustomParamsFromRequest(), ','));
lf.addField(StringUtils.join(myRequest.getAdspaceIds(), ','));
logger_request.info(lf.toString());
}
I have to test logMyRequest method which is static as well.
Aucun commentaire:
Enregistrer un commentaire