Jednostka Testowanie metody statycznej w klasie Java z przypadku testowego Groovy
Próbuję napisać przypadek testowy w Groovy dla klasy napisanej w Javie. Klasa Java (nazwa: Helper) ma w sobie metodę statyczną, w której uzyskuje się obiekt HttpClient i wywołuje na nim executeMethod. Aby Unittest tej klasy, próbuję próbować tego httpClient.executeMethod () w przypadku testowego groovy, ale nie jest w stanie go wyszydzić.
Poniżej znajduje się klasa 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);
}
}
Wszelkie pomysły na to, jak przetestować tę metodę statyczną z groovy. Ponieważ obiekt httpClient jest obiektem wewnątrz metody klasy, jak mogę wyszydzić ten obiekt w przypadku groovy testu?
To jest przypadek testowy, który mam do tej pory. Próbuję wyśmiać, ale nie dzieje się ...
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)
}
}