对图数据库(Nebula)进行单元测试时的坑
2024-09-26 16:52:41
通过Nebula提供的Java Client完成代码开发后,使用JUnit对其进行单元测试,需要注意几点:
一、不确定性
1.Nebula创建图空间是异步实现的,Nebula将在下一个心跳周期内(默认是10s)完成图空间的创建
如果单元测试代码中有动态创建、删除图空间的语句,单元测试结果可能是不确定的,时好时坏
2.如果单元测试中有动态创建Tag、EdgeType,单元测试结果可能是不确定的,时好时坏
二、解决方案
1.基于前面的两种不确定性,建议提前手动创建好图空间(相当于关系数据库)、Tag(相当于关系数据库中的表)、EdgeType(相当于关系数据库中的表)
只对Vertex以及Edge进行动态插入删除操作,这样单元测试的结果是稳定的,不会出现时好时坏的现象
2.如果使用JUnit5进行单元测试,建议:
在@BeforeAll注解的方法里进行Vertex及Edge的初始化
在@AfterAll主机的方法里进行Vertex及Edge的清除、Nebula会话的释放、连接池的关闭等操作
最新文章
- UVA 11800 Determine the Shape --凸包第一题
- Ring3无敌进程让你的进程变得和smss.exe一样支持64
- (转)JITComplier、NGen.exe及.NET Native
- .NET 通过SmtpClient发送邮件 提示 4.7.1 service unavailable try again later 解决办法
- Maximum Value(哈希)
- JSONObject put,accumulate,element的区别(转载)
- 【LeetCode 238】Product of Array Except Self
- MAT(1) 小样
- Spring 报错:Error creating bean with name
- Android组件:Fragment切换后保存状态
- iptables 小结
- 采用WindowManager添加您自己的自定义视图
- webservice 第一节 .net SoapHeader验证
- Mac本地编辑服务器代码
- shiro Filter--拦截器
- vue:简单方法替代vuex或者bus
- python 脚本自动登陆校园网
- xtrabackup单表备份与恢复
- [Canvas]空战游戏 已经可以玩了 1.13Playable
- css学习_css文字阴影、盒子阴影