mercredi 4 mars 2015

JUnit test cases stretegy for void returning methods

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