javaで書かれたクラスのテストケースをgroovyで書こうとしています。Java クラス (name:Helper) には静的メソッドがあり、HttpClient オブジェクトが取得され、executeMethod が呼び出されます。このクラスを単体テストするために、グルーヴィーなテスト ケースでこの httpClient.executeMethod() をモックしようとしていますが、正しくモックできません。
以下はJavaクラスです
public class Helper{
public static message(final String serviceUrl){
HttpClient httpclient = new HttpClient();
HttpMethod httpmethod = new HttpMethod();
// the below is the line that iam trying to mock
String code = httpClient.executeMethod(method);
}
}
Groovy からこの静的メソッドを単体テストする方法に関するアイデア。httpClient オブジェクトはクラスメソッド内のオブジェクトであるため、グルーヴィーなテストケースでこのオブジェクトをモックするにはどうすればよいですか?
これは私がこれまでに持っているテストケースです.nullにモックしようとしていますが、起こっていません...
void testSendMessage(){
def serviceUrl = properties.getProperty("ITEM").toString()
// mocking to return null
def mockJobServiceFactory = new MockFor(HttpClient)
mockJobServiceFactory.demand.executeMethod{ HttpMethod str ->
return null
}
mockJobServiceFactory.use {
def responseXml = helper.message(serviceUrl)
}
}