我使用org.neo4j.ogm.testutil.TestServer和http驱动程序进行集成测试而不是嵌入式驱动程序,因为我喜欢TestServer如何提供基于浏览器的界面来查看每个测试发生的情况。
然而 - 我的测试需要很长时间!在速度相当快的机器上,构建时间大约需要30分钟。
我想要做的是使用maven surefire插件并行执行我的测试用例。
为了做到这一点,我想我需要能够在不同的端口上启动几个neo4j TestServer实例。
使用neo4j 4.1最好的地方在哪里?我假设我的测试用例的@Before和@After(for shutdown)方法? (可能被提取成超级班?)
另外,如何将当前测试上下文的当前端口转换为每个单元测试?
任何关于如何解决这个问题的建议都将非常感激:)
答案 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