我使用org.neo4j.ogm.testutil.TestServer和http驱动程序进行集成测试,而不是嵌入式驱动程序,因为我喜欢TestServer提供基于浏览器的界面来查看每次测试的情况。
然而,我的测试需要很长时间!在一台速度相当快的机器上,构建时间长达30分钟左右。
我想做的是使用maven-surefire插件并行执行我的测试用例。
要做到这一点,我想我需要能够启动几个neo4j TestServer实例,每个实例都在不同的端口上
使用neo4j 4.1进行此操作的最佳位置在哪里?我假设我的测试用例的@Before和@After(用于关闭)方法?(可能提取到一个超级类别?)
此外,我如何将当前测试上下文的当前端口输入到每个单元测试中?
任何关于如何做到这一点的建议都将不胜感激:)
看看org.neo4j.ogm.testutil.MultiDriverTestClass
,它使用TestServer设置驱动程序。无论如何,TestServer应该选择一个可用的端口,这应该可以解决并行设置这些端口的问题。事实上,您可以让测试类扩展org.neo4j.ogm.testutil.MultiDriverTestClass
(org.neo4j.ogm.persistence.examples中的大多数测试都是这样做的),并提供一个ogm.properties
文件,该文件指定要使用的驱动程序是HTTP驱动程序
driver=org.neo4j.ogm.drivers.http.driver.HttpDriver