我正在尝试编写一些基本的backingBean测试,但我一直在模仿UserContext和facesContext。
此代码位于我正在尝试测试的代码中:
UserContext uc = ContextProvider.getContext();
Locale locale = uc.getLocale();
ResourceBundle bundle = ResourceBundle.getBundle("AppMessages", locale);
String message = bundle.getString("this.is.the.message.key");
在另一段代码中,我得到了以下内容:
FacesContext fc = FacesContext.getCurrentInstance();
fc.getExternalContext().redirect(handleRedirect("someString"));
如何在仅使用mockito的标准jUnit测试中模拟这些?或者我必须使用像PowerMock这样的东西吗?
答案 0 :(得分:0)
Mockito can't mock static methods。你有几个选择:
UserContext
和ResourceBundle
或FacesContext
实例作为参数的方法答案 1 :(得分:0)
而是为自己创建模拟,你可以使用Apache MyFaces Test,它为JSF工件提供了已经准备好的模拟对象。它可以在更广泛的情况下更好地工作,而且工作量更少。