2015-07-24 1 views
0

Я хочу реализовать тест CDI с DeltaSpike. Но когда я пытаюсь вызвать функцию, которая зависит от контекста Faces, я получаю исключение Null Pointer.DeltaSpike CDI Testing + NPE Faces Context

Нужно ли мне высмеивать класс или его можно инициализировать лучше?

@RunWith(CdiTestRunner.class) 
public class DeltaSpikeTest{ 

    @Inject 
    private WindowContext windowContext; 

    @Inject 
    private TestBean testBean; 

    @Test 
    public void main() { 
     this.windowContext.activateWindow("w1"); 

     testBean.methodThatUsesFacesContext(); // NPE 
    } 
} 

Всякая помощь очень ценится!

ответ

0

Вам необходимо использовать MyFaces-Test и один из адаптеров, предоставляемых DeltaSpike. Тогда вы можете использовать звонки в JSF, как в https://github.com/os890/ee6-ds-demo/blob/master/src/test/java/org/os890/demo/ee6/test/PageBeanTest.java

+0

Если вы зададите такие вопросы в своем рассылке, вы получите ответы быстрее. –

+0

Привет, Дар, спасибо за ваш ответ. Я уже нашел подобный ответ от вас к этой теме и попытался решить эту проблему. Вероятно, решение находится в этом ответе, но я не могу его найти. Не могли бы вы уточнить? Заранее спасибо! – MiScha

+0

см. Https://github.com/os890/ee6-ds-demo/blob/master/src/test/resources/META-INF/services/org.apache.deltaspike.testcontrol.spi.ExternalContainer, а также maven -config для myfaces-test см. https://github.com/os890/ee6-ds-demo/blob/master/pom.xml#L139 –

Смежные вопросы