如何启动内存版CockroachDB以运行BDD测试
内存模式启动CockroachDB支撑BDD测试方案
CockroachDB原生支持单节点内存运行模式,无磁盘持久化开销,启动速度快,非常适配BDD测试场景下环境快速拉起、用后即焚的需求,具体操作如下:
- 前置准备:本地部署好对应版本的CockroachDB二进制,确保终端可直接调用
cockroach命令 - 执行启动命令拉起内存版实例:
cockroach start-single-node --insecure --store=type=mem,size=1GiB --listen-addr=localhost:26257
- 关键参数说明:
--insecure:关闭TLS证书校验,测试环境专用,不要在生产环境使用该参数--store=type=mem,size=1GiB:核心配置项,指定存储引擎使用内存模式,分配1G内存空间,可根据测试数据集大小自行调整容量--listen-addr=localhost:26257:指定SQL服务监听地址,BDD测试代码的连接串直接用postgresql://root@localhost:26257/defaultdb?sslmode=disable即可连通
- BDD流程适配要点:
- 在测试全局启动钩子中执行上述启动命令,检测到26257端口连通后即可开始执行测试用例,单节点内存模式启动耗时通常在2秒内,不需要额外做集群初始化操作
- 在测试全局销毁钩子中直接杀掉CockroachDB进程即可,内存中存储的测试数据会随进程退出自动清空,不会残留脏数据影响后续测试轮次
- 如果要求单条用例之间完全环境隔离,可以在用例级的启动/销毁钩子中做实例重启操作,内存模式重启速度极快,不会明显拖慢测试执行效率
如果你的BDD测试依赖是通过容器调度拉起的,直接在容器启动命令中加上上述
--store=type=mem参数即可,效果和本地二进制启动完全一致。
内容的提问来源于stack exchange,提问作者Gayathri
相关产品推荐
相关产品推荐

