【发布时间】:2012-09-04 21:08:31
【问题描述】:
我需要在 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 编写 junit,但由于 groovy 元编程技术不适用于 java 类,所以无法这样做。在我的研究中,我发现 JMockit 是一个很好的框架,它还可以模拟使用新构造函数创建的对象。
谁能告诉我如何用 java 或 groovy 为上述类编写单元测试。
高级感谢
这是我迄今为止使用 jmockit 尝试过的测试用例,但不起作用..
void testSend(){
def serviceUrl = properties.getProperty("PROP").toString()
new Expectations(){
{
HttpClient httpClient=new HttpClient();
httpClient.executeMethod(); returns null;
}
};
def responseXml = Helper.sendMessage(requestXml.toString(), serviceUrl)
}
【问题讨论】:
-
你用 JMockit 试过什么了吗?我知道你最后一个基本相同的问题建议 JMockit,还有 Mockito 和 EasyMock。例子比比皆是——你尝试过什么?
-
我已经对我的问题添加了一个编辑,显示了我编写的测试......由于我正在研究的模拟对象是 httpClient,你认为如果我使用 java 或用 groovy 编写测试用例
标签: java groovy junit grails-2.0 jmockit