我发生了一件相当奇怪的事情。
如果我清理目标文件夹并运行我的测试,它们可以正常工作。如果我再次运行它没有清洁我得到以下错误
java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
当目标文件夹只包含已编译的类时,可能会发生这种情况的任何想法。我正在使用maven来构建
答案 0 :(得分:0)
对于netbeans用户来说,这是一个大开眼界。
我在netbeans中有一个maven项目。如果我删除目标文件夹中的文件,并右键单击Netbeans中的test.java文件并选择“测试文件”。 Netbeans运行maven命令来构建文件和类路径,然后使用test-resources中的文件执行测试。但是如果已经编译了java类,那么Netbeans将使用classes文件夹而不是test-classes文件夹中的资源运行测试。在我的例子中,classes-folder中的persistence.xml缺少一些细节,我不在乎,因为我更专注于单元测试。
答案 1 :(得分:0)
在eclipse中,你必须配置build-path,以便eclipse注意到它必须在正确的输出目录中查找文件。
您还可以配置maven构建,使其与JUnit查找文件的位置相匹配。