gpt4 book ai didi

java - Neo4j:正确地对 bolt 驱动器进行单元测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:23 26 4
gpt4 key购买 nike

我在 http://neo4j.com/developer/java/ 之后将 Neo4j Bolt 驱动程序添加到我的应用程序中:

import org.neo4j.driver.v1.*;

Driver driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "neo4j" ) );

Session session = driver.session();
session.run( "CREATE (a:Person {name:'Arthur', title:'King'})" );

StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title" );

while ( result.hasNext() )

{
Record record = result.next();
System.out.println( record.get( "title" ).asString() + " " + record.get("name").asString() );
}
session.close();
driver.close();

不过,总是来自官方documentation单元测试使用:

GraphDatabaseService db = new TestGraphDatabaseFactory()
.newImpermanentDatabaseBuilder()

因此,如果我想以某种方式测试上面的代码,我必须将 GraphDatabase.driver( "bolt://localhost",...) 替换为 GraphDatabaseService 来自测试。我怎样才能做到这一点?据我所知,我无法从那里提取任何类型的内存驱动程序

最佳答案

Neo4j JDBC 有一个名为 Neo4jBoltRule 的类用于单元测试。这是一个启动/停止临时数据库的 junit 规则以及启动 bolt 的一些配置。

规则类使用动态端口分配来防止由于并行运行多个测试而导致的测试失败(想想您的 CI 基础设施)。

使用该规则类的单元测试示例可在 https://github.com/neo4j-contrib/neo4j-jdbc/blob/master/neo4j-jdbc-bolt/src/test/java/org/neo4j/jdbc/bolt/SampleIT.java 获得。

关于java - Neo4j:正确地对 bolt 驱动器进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37628313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com