【问题标题】:ClassNotPersistableException running Appengine Unit Test (JDO, Gradle)ClassNotPersistableException 运行 Appengine 单元测试(JDO、Gradle)
【发布时间】:2016-02-07 20:39:25
【问题描述】:

在 AppEngine 中运行单元测试时,我收到以下错误:

The class "biz.bookdesign.librivoxserver.UserStars" is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data/annotations for the class are not found.
org.datanucleus.exceptions.ClassNotPersistableException: The class "biz.bookdesign.librivoxserver.UserStars" is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data/annotations for the class are not found.
at org.datanucleus.ObjectManagerImpl.assertClassPersistable(ObjectManagerImpl.java:5464)
at org.datanucleus.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:3425)
at org.datanucleus.api.jdo.JDOPersistenceManager.newObjectIdInstance(JDOPersistenceManager.java:1618)
at org.datanucleus.api.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1740)
...

我已使用模块 gradle 文件中的以下命令将我的 jdoconfig.xml 文件复制到我的测试类路径中:

testClasses {
    doLast{
        JDOCopy.execute()
    }
}

task JDOCopy (type: Copy)

JDOCopy {
    from 'src/main/webapp/WEB-INF/classes'
    into 'build/classes/test'
    include('**/*.xml')
}

还缺少什么?

【问题讨论】:

    标签: unit-testing google-app-engine intellij-idea gradle jdo


    【解决方案1】:

    原来我没有在我的测试配置中运行appengineEnhance 任务。通过将其添加到我在 IntelliJ 中的测试配置中,任务已运行,类得到了增强,并且测试运行正常。我在主菜单栏的运行/调试配置下添加了它。

    【讨论】:

      猜你喜欢
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多