在测试调试期间连接到嵌入式 Neo4j
Connect to embedded Neo4j during test debugging
我使用嵌入式 Neo4j 进行 JUnit 测试,规则配置如下:
@Rule
public Neo4jRule neo4jRule = new Neo4jRule()
.withConfig("dbms.connector.1.enabled", "true")
.withConfig("dbms.connector.1.listen_address", "localhost:4710")
.withConfig("dbms.connector.1.type", "HTTP")
.withConfig("dbms.connector.bolt.enabled", "true")
.withConfig("dbms.connector.bolt.listen_address", ":4711")
.withConfig("apoc.autoIndex.enabled", "true")
.withConfig("ShellSettings.remote_shell_enabled", "true")
.withConfig("ShellSettings.remote_shell_port", "5555")
.withProcedure(apoc.index.FulltextIndex.class)
.withProcedure(apoc.index.FreeTextSearch.class)
.withProcedure(apoc.cypher.Cypher.class);
现在我想在调试(断点设置)期间通过 cypher-shell 连接,以便在某个时候查看测试数据库中的实际内容。不幸的是,cypher-shell -a localhost:4711
和 neo4j-shell -port 5555
都无法连接。第一个没有 return(待定),第二个 returns Connection refused
。我错过了什么?知道如何建立连接吗?
当调试过程中遇到断点时,嵌入式服务器也会停止响应。
如果您想在单元测试期间查看数据库的状态,则需要在没有断点的情况下暂停执行。我的解决方案不是您想要的,但您可以试试这个
@Test
public void yourTest() throws IOException {
try {
System.out.pritnln(neo4j.httpURI());
Thread.sleep(100000L);
} catch (Exception e) {
e.printStackTrace();
}
}
以上代码会暂停100s,您可以在控制台点击link打开Neo4j浏览器查询数据库。
我使用嵌入式 Neo4j 进行 JUnit 测试,规则配置如下:
@Rule
public Neo4jRule neo4jRule = new Neo4jRule()
.withConfig("dbms.connector.1.enabled", "true")
.withConfig("dbms.connector.1.listen_address", "localhost:4710")
.withConfig("dbms.connector.1.type", "HTTP")
.withConfig("dbms.connector.bolt.enabled", "true")
.withConfig("dbms.connector.bolt.listen_address", ":4711")
.withConfig("apoc.autoIndex.enabled", "true")
.withConfig("ShellSettings.remote_shell_enabled", "true")
.withConfig("ShellSettings.remote_shell_port", "5555")
.withProcedure(apoc.index.FulltextIndex.class)
.withProcedure(apoc.index.FreeTextSearch.class)
.withProcedure(apoc.cypher.Cypher.class);
现在我想在调试(断点设置)期间通过 cypher-shell 连接,以便在某个时候查看测试数据库中的实际内容。不幸的是,cypher-shell -a localhost:4711
和 neo4j-shell -port 5555
都无法连接。第一个没有 return(待定),第二个 returns Connection refused
。我错过了什么?知道如何建立连接吗?
当调试过程中遇到断点时,嵌入式服务器也会停止响应。
如果您想在单元测试期间查看数据库的状态,则需要在没有断点的情况下暂停执行。我的解决方案不是您想要的,但您可以试试这个
@Test
public void yourTest() throws IOException {
try {
System.out.pritnln(neo4j.httpURI());
Thread.sleep(100000L);
} catch (Exception e) {
e.printStackTrace();
}
}
以上代码会暂停100s,您可以在控制台点击link打开Neo4j浏览器查询数据库。