Junit测试中的Assesrtion错误

时间:2015-04-22 05:38:24

标签: java junit mockito powermock easymock

我有一个接受JSON字符串的函数,并通过调用服务返回字符串 我正在使用谷歌JSON构建器

public String getserviceresult()
{
Gson gson = new Gson();
HashMap h =new HashMap()
//Adding some attributes in hashmap

h.add("Id",request.getid());
h.add("sessionid",SessionUtils.getSessionId());
String expectedstring =service.getString(gson.toJson(hashmap))
}

我为此编写了单元测试,但是成功地工作了 首先,我已经使用Powermock.Now来模拟SessionUtils类和serviceclient类来测试函数getserviceresult()

public validjsonstring="{\"id\":\"customerid\",\"sessionid\":,\"somessionid\"}"
public testfunc()
{
  expect(service.getString(validjsonstring)).andReturn("somestring").anyTimes();
PowerMock.replayAll();
assert("somestring",getserviceresult());
Powermock.verifyAll();

}

这段代码运行正常。问题是现在当我将Hashmap中的密钥从“sessionid”更改为“sessionId”时,单元测试失败,给出断言错误,getserviceresult()函数返回null。没有任何问题服务,因为当我运行该函数而不运行单元测试时,它给了我正确的结果iexpect但是当我将hashid中的密钥更改为sessionId时,模拟的服务调用失败并返回null

任何想法为什么会出现这种奇怪的错误

错误:断言错误getserviceresult()预期“somestring”但在我将sessionid更改为sessionId时返回null

0 个答案:

没有答案