游戏框架2.1 JUnit测试不是从日食工作(play framework 2.1 junit te

2019-07-20 01:13发布

继zentask教程,并写了一个JUnit测试IM,测试不会从Eclipse IDE的给下面的异常运行

javax.persistence.PersistenceException: java.lang.IllegalStateException: Class [class play.db.ebean.Model] is enhanced and [class models.User] is not - (you can not mix!!)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
    at com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)

我看了一下,发现对某些人编辑buils.scala添加以下线内主要帮助:ebeanEnabled:= TRUE

对我来说它没有nither closeing IDE中运行起到清洁编译

有任何想法吗???

Answer 1:

有博客帖子有关设置单元测试在集成开发环境中运行。 它建议对以下命令行添加到运行测试时使用的Java:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar

看来,玩不附带ebean剂,应该从Ebean网站先下载(在主ebean包)。

我没有尝试过。

Ebean用户指南还提到它(15.5.2 javaagent部分),甚至有例如用于配置的Eclipse。

此外,为加快提高,也许这会更好:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar;packages=models.*

所以它只会考虑models.* (默认包ORM模型播放)。



Answer 2:

您可以使用Avaje Ebean Eclipse插件:

http://www.avaje.org/eclipseupdate/site.xml

安装完成后,右键点击你的项目并选择启用Ebean增强激活Ebean增强。



Answer 3:

当我试图从延伸Model类之一的声明删除公用修饰符我得到这个错误。

我用一个模型来做出“通过”表(许多与其他信息一对多的关系),所以保护访问很有意义。 也许有另一种方式来做到这一点,但玩的javadoc是很稀疏。



文章来源: play framework 2.1 junit test not working from eclipse