测试 ejb 3.1 时出错 (netbeans-glassifish-junit4)

发布于 2024-12-16 21:48:30 字数 693 浏览 0 评论 0原文

我正在尝试使用实体增删改查操作对 EJB 进行单元测试。我已经能够仅运行我的 Web 应用程序(并且所有工作)来测试它,但我想使用 JUnit 来完成它。

所以,我的环境是 Netbeans 7、Glassfish 3.1(JavaDB、EclipseLink)、JUnit4。

当我为 EJB 创建测试类时,代码模板使用以下代码行,当我运行代码时,该代码行会引发异常:

EJBContainer container = javax.ejb.embeddable.EJBContainer.createEJBContainer();  

异常是:

java.lang.RuntimeException: Invalid resource : jdbc/mine__pm
Exception while preparing the app : Invalid resource : jdbc/mine__pm 

我的 EJB 有一个注入的 EntityManager ,它指向我的持久性单元。该持久性单元引用 Netbeans 为 Glassfish 创建的名为 jdbc/mine 的 JNDI 数据源。它运行并且我可以在我的服务器上看到它。我也尝试使用 glassfish-resource.xml 来做同样的事情。

为什么不起作用?

I'm trying to unit testing a EJB with entity crud operations. I already was capable of testing it just running my web application (and all works), but I want to do it with JUnit.

So, my environment is Netbeans 7, Glassfish 3.1 (JavaDB, EclipseLink), JUnit4.

When I create a test class for my EJB, the code template uses the following line of code that throw an exception when I run the code:

EJBContainer container = javax.ejb.embeddable.EJBContainer.createEJBContainer();  

the exception is:

java.lang.RuntimeException: Invalid resource : jdbc/mine__pm
Exception while preparing the app : Invalid resource : jdbc/mine__pm 

My EJB has an injected EntityManager that points to my persistence unit. This persistence unit is referencing a data source that I JNDI named jdbc/mine created by Netbeans for my Glassfish. It runs and I can see it on my server. I tried using a glassfish-resource.xml to do the same thing too.

Why doesn't it work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文