我有一个在 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";
/* ... */
}
任何建议都非常感谢!
抢