WebSphere 7 で Java EE アプリケーションを実行しています (IBM RAD 7.5 / Eclipse を使用)。
基本的には user.JSP -> UserServlet -> @Stateless UserService -> UserDAO -> Oracle
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";
/* ... */
}
どんな提案でも大歓迎です!
ロブ