我目前正在为Java应用程序编写集成测试,并使用openejb/openjpa。但是,在使用CMP时,我必须使用javaagent来增强类。在maven中,我可以配置我的尽责插件来进行这种增强,或者最好将代理设置为vm参数进行测试。
但是,随着我目前的开发,我喜欢经常在eclipse中运行我的测试。但我不想一直让特工
java -javaagent:openejb-javaagent-4.6.0.jar _\[other params...](other-params....html)有人对这个问题有一个有用的解决方案吗?
发布于 2014-04-04 14:41:52
为了在Eclipse中进行测试,我总是创建一个可以在运行配置的VM参数部分中使用的变量。这样,您只需要指定类似于${agent} (或任何您称之为它)的内容,而不是完整的javaagent字符串。
发布于 2014-04-07 06:42:40
Mhh但不确定,看看我的属性,我的类应该在运行时得到增强:
@Before
public void startupContainer() throws NamingException {
Properties p = new Properties();
p.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
p.put("openjpa.jdbc.DBDictionary", "hsql(SupportsSelectForUpdate=true)");
p.put("openejb.embedded.initialcontext.close", "destroy");
p.put("openjpa.RuntimeUnenhancedClasses", "supported");
p.put("openjpa.DynamicEnhancementAgent", "true");
p.put("javax.persistence.lock.timeout", "0");
p.put("openejb.log.factory", "slf4j");
ejbContainer = EJBContainer.createEJBContainer(p);
}https://stackoverflow.com/questions/22865392
复制相似问题