2015-10-13 101 views
0

我有一個識別TestClass:的Arquillian不能注入EJB

@RunWith(Arquillian.class) 
public class ActionServiceTest { 

    @EJB 
    private ActionService actionService; 
... 
} 

這工作得很好。 現在我創建了另一個文件ActionBuilder,它也應該注入EJB(但沒有@RunWith註釋)並且從ActionServiceTest(例如,

new ActionBuilder().foo() 

public class ActionBuilder { 

    @EJB 
    ActionService actionService; 
... 
} 

在這種情況下actionServicenull。你能告訴我爲什麼嗎?

+0

您是否在使用微型部署? ActionService(和impl)是否包含在微部署中? – LightGuard

+0

是的,絕對是 – matthias

回答

0

看起來你正在使用new這將繞過任何容器注入。

+0

我應該如何創建一個ActionBuilder()的實例?它必須有@Stateless註釋嗎? – matthias

+0

你也可以使它成爲一個ejb,或者你可以使用cdi來注入它。 – LightGuard