я достиг, что следующим образом:
1- использование FacesContextMocker класс:
public abstract class FacesContextMocker extends FacesContext {
private FacesContextMocker() {
}
private static final Release RELEASE = new Release();
private static class Release implements Answer<Void> {
@Override
public Void answer(InvocationOnMock invocation) throws Throwable {
setCurrentInstance(null);
return null;
}
}
public static FacesContext mockFacesContext() {
FacesContext context = Mockito.mock(FacesContext.class);
setCurrentInstance(context);
Mockito.doAnswer(RELEASE).when(context).release();
return context;
}
}
2- OmniPartialViewContext макет объекта следующим образом:
FacesContext facesContext = FacesContextMocker.mockFacesContext();
// mocking omnifaces OmniPartialViewContext to test Ajax.oncomplete
OmniPartialViewContext omniPartialViewContext = Mockito
.mock(OmniPartialViewContext.class);
Map<Object, Object> map = facesContext.getCurrentInstance()
.getAttributes();
map.put(OmniPartialViewContext.class.getName(), omniPartialViewContext);
Mockito.when(facesContext.getCurrentInstance().getAttributes())
.thenReturn(map);
В самом деле, я собирался опубликовать комментарий, что он просто хранится как атрибут FacesContext' с именем «OmniPartialViewCo» ntext.class.getName() 'как ключ. – BalusC
@BalusC, спасибо за ваш обычный интерес: D –