Как издеваться над FacesContext - getRequestParameterMap - PullRequest
1 голос
/ 10 января 2012

У меня есть класс, который я использую getRequestParameterMap для извлечения некоторых данных, например:

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

И мне нужно создать несколько тестов Junit, потому что здесь задействованы некоторые условия, поэтому я ищу способ имитации значений:

getRequestParameterMap()

1 Ответ

0 голосов
/ 10 января 2012

Обычно вы используете mock-объект для FacesContext и возвращаете другой mock-объект для ExternalContext при вызове getExternalContext (), чтобы в итоге вы могли вернуть карту со значениями, необходимыми для этого теста. Однако

Проблема здесь в том, что FacesContext и ExternalContext оба являются абстрактными классами, а не интерфейсами, что приводит к тому, что easymock их не смоделирует.

Однако есть PowerMock , который может выполнять некоторые расширенные функции, в том числе настраивать байт-код существующих классов, он должен иметь возможность делать то, что вы пытаетесь сделать здесь.

...