日常开发中,如何使用了ZooKeeper,在对这部分做单元测试的时候,往往很不方便,因为实际安装一个ZooKeeper专门用来做单元测试,实在是太浪费。这种情况下,可以使用curator-testcurator是Netflix公司开源的一个Zookeeper客户端,curator-test正是其中的一员,通过它可以Mock一个本地(127.0.0.1)ZooKeeper Server用于测试,非常方便。

Maven Dependency

<dependency><groupId>org.apache.curator</groupId><artifactId>curator-test</artifactId><version>2.6.0</version><scope>test</scope>
</dependency>

Getting Started

private static TestingServer server;
private static CuratorFramework client;@BeforeClass
public static void setUpBeforeClass() throws Exception {server = new TestingServer(2181, true);server.start();client = CuratorFrameworkFactory.newClient("127.0.0.1",new ExponentialBackoffRetry(1000, 3));client.start();
}@AfterClass
public static void tearDownAfterClass() throws IOException {server.stop();client.close();
}@Test
public void testFoobar() throws Exception {System.out.println("client: " + client);client.create().forPath("/test", "test-data".getBytes());byte[] data = client.getData().forPath("/test");System.out.println("data: " + new String(data));
}

如何对依赖ZooKeeper的代码写单元测试相关推荐

  1. java 单元测试_在springboot中写单元测试解决依赖注入和执行后事务回滚问题

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  2. springboot 事务嵌套问题_在springboot中写单元测试解决依赖注入和执行后事务回滚问题...

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  3. 夸奖对方代码写的好_我写出这样干净的代码,老板直夸我

    一份整洁的代码对于一个系统是多么重要.如果代码写的乱七八糟,最后的结果就是无法对这些代码进行有效的管控.很有可能会毁掉这个系统. 什么才是整洁的代码? Biarne Stroustrup -[C++语 ...

  4. Spock in Java 慢慢爱上写单元测试

    前言 最近小组里面引进了Spock这个测试框架,本人在实际使用了之后,体验非常不错,本篇文章一是为了巩固输入的知识,二是为了向大家推广一下. 在了解学习Spock测试框架之前,我们应该先关注单元测试本 ...

  5. 代码写一半感觉无从下手,写不下去了,怎么办?

    背景 最近新项目开启 996 模式,五月基本陷入了稀缺状态,没有输出.这一个月投入Java 后端代码的编写过程中,有一个深切的感悟:写代码跟作家创作一样,都需要经历一个生成初稿的过程. 纵使有很多细节 ...

  6. 为什么从前那些.NET开发者都不写单元测试呢?

    楔子 四年前我虽然也写了很多年代码,由于公司虽然规模不小,却并非一家规范化的软件公司,因此在项目中严格意义上来说并没有架构设计.也不写单元测试,后来有幸加入了一家公司,这家公司虽然也是一家小公司,但是 ...

  7. 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack

    前言 之前好友希望能介绍一下 webapck 相关的内容,所以最近花费了两个多月的准备,终于完成了 webapck 系列,它包括一下几部分: webapck 系列一:手写一个 JavaScript 打 ...

  8. Android Studio中解决jar包重复依赖导致的代码编译错误

    在原本的代码中已经使用了OKHTTP和rxjava,然后今天依赖retrofit的时候一直报错 Program type already present: okhttp3.internal.ws.Re ...

  9. 写单元测试的好处(转)

    许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码.对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了.然而每次测试组的BUG提交过来后就会发现自己的 ...

最新文章

  1. python 类变量修改_python中类变量与成员变量的使用注意点总结
  2. python中模块(Module)和包(Package)的区别 (导入模块、导入包)(import导包)
  3. 12 | 套路篇:CPU 性能优化的几个思路
  4. 转载:Yahoo推出视频标签游戏
  5. windows mysql读写分离_windows下的MySql实现读写分离
  6. 中秋节公司发了这个(结尾分享红包)
  7. ie input兼容 vue_Vue项目与IE11兼容
  8. python模式识别
  9. java 调用 c# webservice 压缩 Liststring示例
  10. perl mysql 时间戳_讲Perl中的本地时间与UNIX时间戳间相互转换的方法
  11. 小美赛:模拟机舱病毒传播
  12. 行政区域村级划分数据库_两区划定数据库规范(试行)
  13. c语言编程 双斜杠报错怎么办,以双斜杠//开头的URL的含义
  14. python窗口显示表格_python表格界面
  15. IT 工程师长期保住饭碗的一些建议
  16. BI、大数据、数字化转型傻傻分不清?5分钟带你了解区别和联系
  17. 使用Python爬取中国天气网天气数据
  18. 微信视频号直播数据哪里可以看?
  19. Ubuntu 18.04 安装搜狗拼音
  20. 亲身经历:一次sql缺少where条件的惨案,绩效奖金差点没啦~

热门文章

  1. 链式运动JavaScript实现
  2. 使用git 添加远程仓库 或者 从远程仓库克隆的两种实现
  3. 单行文字垂直居中,多行文字垂直居中
  4. java poi之Excel的读取
  5. 算法设计之—常用算法之-分支界定法
  6. cas实现单点登录原理
  7. 选型OpenStack,需要谨防“舍本逐末”
  8. bzoj2154(莫比乌斯反演)
  9. protobuf-2.5.0安装
  10. 智能机浏览器版本信息获取