我们的许多应用程序功能都是通过Neo4j非托管扩展程序公开的。目前,为了测试此功能(尽可能以现实的方式),我们使用WrappingNeoServerBootstrapper
类以编程方式启动服务器,就像authentication-extension等其他扩展一样。
现在不推荐使用WrappingNeoServerBootstrapper
类,doesn't appear to be a replacement。因此,假设非托管扩展在某些时候不会消失(我希望它们不是),那么测试它们的最佳方法是什么?像Jersey测试框架这样的推荐方法吗?
答案 0 :(得分:2)
你可能想看看我的一个项目:https://github.com/sarmbruster/neo4j-spock-extension 它为Spock提供了一些扩展,使测试非托管扩展变得容易。
有关黑盒测试的示例,请参阅SampleNeo4jServerSpec。这会产生一个带有非托管扩展的neo4j服务器,并触发REST请求进行测试。
另一种类型的测试是白盒测试,请参阅SampleNeo4jSpec。这只是实例化非托管扩展并直接调用那里的方法。
我将在下周发布关于neo4j-spock-extension的更详细的博客文章。
答案 1 :(得分:2)
对jjaderberg's pointer和Mark Needham's blog有很大的道具,似乎需要的是ServerBuilder
,使用了ala:
CommunityNeoServer server = CommunityServerBuilder
.server()
.onPort(7575)
.withThirdPartyJaxRsPackage("my.resource.package", "/endpoint")
.build();
server.start();