我正在尝试使用 groovy 对 java 类进行单元测试,其中Helper
有一个静态方法,在其中HttpClient
获取并executeMethod
调用它。为了对这个类进行单元测试,我试图httpClient.executeMethod()
在 Groovy 测试用例中模拟它,但我无法正确模拟它。
下面是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
对象在类方法中,我如何在 Groovy 测试用例中模拟这个对象?
这是我到目前为止的测试用例。我试图模拟为空,但没有发生......
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)
}
}