SDN 4.1 - 用于并行执行测试用例的多线程Neo4j TestServer

时间:2016-07-25 04:20:12

标签: neo4j spring-boot junit4 spring-data-neo4j-4 neo4j-ogm

我使用org.neo4j.ogm.testutil.TestServer和http驱动程序进行集成测试而不是嵌入式驱动程序,因为我喜欢TestServer如何提供基于浏览器的界面来查看每个测试发生的情况。

然而 - 我的测试需要很长时间!在速度相当快的机器上,构建时间大约需要30分钟。

我想要做的是使用maven surefire插件并行执行我的测试用例。

为了做到这一点,我想我需要能够在不同的端口上启动几个neo4j TestServer实例。

使用neo4j 4.1最好的地方在哪里?我假设我的测试用例的@Before和@After(for shutdown)方法? (可能被提取成超级班?)

另外,如何将当前测试上下文的当前端口转换为每个单元测试?

任何关于如何解决这个问题的建议都将非常感激:)

1 个答案:

答案 0 :(得分:0)

查看使用TestServer设置驱动程序的org.neo4j.ogm.testutil.MultiDriverTestClass。 TestServer应该选择一个可用的端口,这可以解决你并行设置它们的问题。实际上,您可以让测试类扩展org.neo4j.ogm.testutil.MultiDriverTestClass(org.neo4j.ogm.persistence.examples中的大多数测试都这样做)并提供一个ogm.properties文件,指定驱动程序是使用的是HTTP驱动程序

driver=org.neo4j.ogm.drivers.http.driver.HttpDriver