Unit-Test einer statischen Methode in einer Java-Klasse aus dem Groovy-Testfall
Ich versuche, einen Testfall in Groovy für eine Klasse zu schreiben, die in Java geschrieben ist. Die Java-Klasse (Name: Helper) enthält eine statische Methode, in der ein HttpClient-Objekt abgerufen und executeMethod aufgerufen wird. Um diese Klasse zu deaktivieren, versuche ich, diese httpClient.executeMethod () in einem starken Testfall zu verspotten, kann sie jedoch nicht richtig verspotten.
Unten ist die Java-Klasse
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);
}
}
Irgendwelche Ideen, wie man diese statische Methode von groovy testet. Da das httpClient-Objekt ein Objekt innerhalb der Klassenmethode ist, wie verspotte ich dieses Objekt in einem starken Testfall?
Dies ist der Testfall, den ich bisher habe. Ich versuche, auf Null zu verspotten, aber es passiert nichts ...
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)
}
}