2013-05-09 68 views
1

我正在为应用程序中的持久层编写一些arquillian测试。我想使用数据库填充等持久扩展等。问题是,一个测试大约需要15-25秒。这是正常的吗?或者我做错了什么?我试图在本地postgres数据库(每次测试约10秒),远程postgres数据库(每次测试约15秒)以及本地容器的hsqldb(每次测试约15秒)上运行这些测试。Arquillian持久性扩展 - 执行时间长,这是否正常?

在此先感谢

P.S.当我不使用“持久性扩展”时,12次测试需要约11秒(这是可以接受的),但是我必须坚持并从代码中删除实体(很难维护和管理)。

+0

您的测试正在事务中执行。几乎所有的容器和数据库都有额外的费用来插入事务。这可能是你看到的额外时间延迟。您要插入多少数据? – 2013-05-10 14:51:44

回答

0

我猜你正在使用APE(Arquillian Persistence Extension)v1.0.0a6。如果是这种情况,您所遇到的是在alpha5和alpha6之间进行重构的结果,我提交了以下票据:https://issues.jboss.org/browse/ARQ-1440

您可以尝试使用1.0.0a5,它可能遇到并需要一些不同的问题以解决问题,但与alpha6相比,它的性能提高了300%。