我有一個運行在WebSphere 7上的Java EE應用程序(使用IBM RAD 7.5/Eclipse)。如何編寫一個可以看到我的EJB服務的JUnit測試?
它基本上user.JSP - > UserServlet - > @Stateless UserService - > UserDAO的 - >甲骨文
我想寫的UserService一些JUnit測試。
我從Eclipse內啓動應用程序,它在WebSphere上運行。我在Eclipse中的一個新Java項目中有一個JUnit測試。我的問題是,我的JUnit測試如何訪問對UserService的引用?
有沒有辦法對我來說,這樣做有@EJB註釋:
public class UserTests extends TestCase {
@EJB
private UserServiceLocal userService;
public void test1() throws Exception {
Assert.assertTrue("userService is not null", (userService != null));
}
}
這裏是我的UserService的基本版本:
@Stateless
public class UserService implements UserServiceLocal {
@EJB
private UserDAOLocal userDAO;
/* ... */
}
注:@EJB不注任何東西。
注:userService = (UserServiceLocal)new InitiatContext().lookup(UserServiceLocal.JNDI);
不工作,要麼說,「NamingManager.getURLContext找不到工廠這個方案:ejblocal」
@Local
public class interface UserServiceLocal {
public static final String JNDI = "ejblocal:com.myapp.service.UserServiceLocal";
/* ... */
}
任何建議都非常感謝!
羅布
你還在使用這個解決方案還是你搬到了Arquillian?在這種情況下,我想問你如何處理EJB中存在的依賴關係。 – narko