easymock两个setAttributes用于一个会话

时间:2014-05-07 11:02:08

标签: junit easymock

我在测试类中创建了一个会话。并且在调用getsession时返回它。

expect(request.getSession()).andReturn(session);

我为会话设置了两个不同的属性,因为它们是在我想要测试的方法中设置的。

session.setAttribute("name","xyz");
session.setAttribute("class", "A")'

当我调用该方法时,在它尝试setAttribue的时候,它会导致nullpointerexception。

任何帮助?

1 个答案:

答案 0 :(得分:0)

如果在使用expect方法后设置值,可能会出现问题。

User user=new User();
expect(mock.getUser()).andReturn(user);
user.setName("John"); //It should be above the expect line

或者你忘了在expect方法之后在你的模拟上调用EasyMock replay()方法。

// Setup the method of mock object
 expect(mock.getNum()).andReturn(2)
// Setup is finished need to activate the mock
 replay(mock);