【问题标题】:Jpa Integration Testing Persistence.xmlJpa 集成测试 Persistence.xml
【发布时间】:2011-09-13 04:04:36
【问题描述】:

我正在尝试对我开发的服务进行集成测试。部分服务涉及使用 daos。此时我需要做的是在我的设置中创建某种与持久单元的连接,然后我可以测试我的服务。

我基本上复制了persistence.xml并把它放在src/test/resources中并正在尝试

@Before
public void beginTransaction() {
  emf = Persistence.createEntityManagerFactory(dao-test");
  em = emf.createEntityManager();
}

@测试 公共无效 testAccountDonation(){

    AccountResult result = AccountService.getDonationAmount();
    Assert.assertEquals("Success", result.getResultCode());


}

无法为驱动程序类“oracle.jdbc.driver.OracleDriver”和 URL“jdbc:oracle:thin:@data-arctichome.arcww2.com:1521:orclgdb1”获取连接。您可能指定了无效的 URL。

这是我的持久化单元。

<persistence-unit name="dao-test"
    transaction-type="RESOURCE_LOCAL">

    <properties>
        <property name="openjpa.ConnectionDriverName"
            value="oracle.jdbc.driver.OracleDriver" />


        <property name="openjpa.ConnectionURL"
            value="jdbc:oracle:thin:@xxxxxxxxx:orclgdb1" />
        <property name="openjpa.ConnectionUserName" value="xxxxxx" />
        <property name="openjpa.ConnectionPassword"
            value="xxxxxx" />
    </properties>
</persistence-unit>

谢谢。

【问题讨论】:

    标签: spring jpa integration-testing


    【解决方案1】:

    Spring 提供了很多 help for unit- and integration-testing,例如在集成测试中管理应用程序上下文和事务,因此我建议您阅读而不是尝试自己为代码测试创建所有持久性等内容通过测试章节(也许在'net中寻找一些示例)并使用Spring提供的功能。从长远来看,这将为您节省大量时间和麻烦。

    【讨论】:

      【解决方案2】:

      我对 JPA、GlassFish 等还是很陌生,但在你的情况下,我想知道你从哪里开始数据库。对于嵌入式应用程序,我认为您需要在代码中启动它,不是吗?只是大声思考......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-04
        • 1970-01-01
        • 2011-03-08
        • 1970-01-01
        • 1970-01-01
        • 2012-05-01
        • 2010-11-11
        • 1970-01-01
        相关资源
        最近更新 更多