如何模拟FacesContext - getRequestParameterMap

时间:2012-01-10 10:59:39

标签: java-ee junit mocking easymock facescontext

我有一个类,我使用getRequestParameterMap来检索一些数据,如下所示:

FacesContext fc = FacesContext.getCurrentInstance();
String oidValue = fc.getExternalContext.getRequestParameterMap().get("oidValue");

我需要创建一些Junit测试,因为涉及一些条件,所以我正在寻找的是一些模拟值的方法:

getRequestParameterMap()

1 个答案:

答案 0 :(得分:0)

通常,您会在FacesContext中使用模拟对象,并在调用getExternalContext()时为ExternalContext返回另一个模拟对象,以便最终返回包含此测试所需值的地图。但是

这里的问题是FacesContext和ExternalContext都是抽象类而不是接口,这导致easymock无法模拟这些。

然而,有PowerMock,可以做一些增强的事情,除了调整现有类的字节码之外,它应该能够做你想做的事情。