日常开发中,如何使用了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. 【一个好的总经理必做的四件事】
  2. 重庆职高统考c语言,2021年重庆市中职毕业生参加高职分类考试招生文化素质测试 考试说明...
  3. English as a medium of instruction
  4. oracle提供的有用函数(待续)
  5. Spring启动时的Spring社交示例,或者我如何不再担心和喜欢自动配置
  6. sqlite3 查询表时,表头与列对齐显示
  7. 搭建开发环境之串口线的选择
  8. Web核心技术-服务器端技术
  9. 支持开源,近期将开设Laszlo专题,陆续介绍相关资讯
  10. mysql 写出高性能sql 防止索引失效总结
  11. idea快捷键汇总mac_IntelliJ IDEA for mac 快捷键大全
  12. 小网站静态资源CDN加速实践记录
  13. 视频教程.VB6.0+ACCESS开发数据管理软件
  14. WIFI信道频率对应
  15. Quartz 表达式生成器
  16. pycocotools安装,简单易懂
  17. PM如何写好产品需求文档
  18. 寒衣节的由来和习俗,你知道吗?
  19. css【详解】grid布局—— 网格布局(栅格布局)
  20. Linux系列之CentOS系统安装

热门文章

  1. arraylist 线程安全_数据结构之Array、ArrayList、List、LinkedList对比分析
  2. 将一个对象拆开拼接成URL
  3. Tomcat配置https访问SSL证书(pfx文件)
  4. 样条表示---Bezier样条曲线
  5. linux -cpu
  6. leetcode第一刷_Search in Rotated Sorted Array
  7. pb中将已经建好的Grid类型转为Tabular类型
  8. 在ubuntu14.04中安装搜狗输入法
  9. SSH配置启动后Could not instantiate bean class [org.hibernate.cfg.AnnotationConfiguration
  10. Bash:把粘贴板上的内容拷贝的文件中。(脚本)