如何对依赖ZooKeeper的代码写单元测试
日常开发中,如何使用了ZooKeeper,在对这部分做单元测试的时候,往往很不方便,因为实际安装一个ZooKeeper专门用来做单元测试,实在是太浪费。这种情况下,可以使用curator-test
。curator
是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的代码写单元测试相关推荐
- java 单元测试_在springboot中写单元测试解决依赖注入和执行后事务回滚问题
往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...
- springboot 事务嵌套问题_在springboot中写单元测试解决依赖注入和执行后事务回滚问题...
往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...
- 夸奖对方代码写的好_我写出这样干净的代码,老板直夸我
一份整洁的代码对于一个系统是多么重要.如果代码写的乱七八糟,最后的结果就是无法对这些代码进行有效的管控.很有可能会毁掉这个系统. 什么才是整洁的代码? Biarne Stroustrup -[C++语 ...
- Spock in Java 慢慢爱上写单元测试
前言 最近小组里面引进了Spock这个测试框架,本人在实际使用了之后,体验非常不错,本篇文章一是为了巩固输入的知识,二是为了向大家推广一下. 在了解学习Spock测试框架之前,我们应该先关注单元测试本 ...
- 代码写一半感觉无从下手,写不下去了,怎么办?
背景 最近新项目开启 996 模式,五月基本陷入了稀缺状态,没有输出.这一个月投入Java 后端代码的编写过程中,有一个深切的感悟:写代码跟作家创作一样,都需要经历一个生成初稿的过程. 纵使有很多细节 ...
- 为什么从前那些.NET开发者都不写单元测试呢?
楔子 四年前我虽然也写了很多年代码,由于公司虽然规模不小,却并非一家规范化的软件公司,因此在项目中严格意义上来说并没有架构设计.也不写单元测试,后来有幸加入了一家公司,这家公司虽然也是一家小公司,但是 ...
- 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack
前言 之前好友希望能介绍一下 webapck 相关的内容,所以最近花费了两个多月的准备,终于完成了 webapck 系列,它包括一下几部分: webapck 系列一:手写一个 JavaScript 打 ...
- Android Studio中解决jar包重复依赖导致的代码编译错误
在原本的代码中已经使用了OKHTTP和rxjava,然后今天依赖retrofit的时候一直报错 Program type already present: okhttp3.internal.ws.Re ...
- 写单元测试的好处(转)
许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码.对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了.然而每次测试组的BUG提交过来后就会发现自己的 ...
最新文章
- python 类变量修改_python中类变量与成员变量的使用注意点总结
- python中模块(Module)和包(Package)的区别 (导入模块、导入包)(import导包)
- 12 | 套路篇:CPU 性能优化的几个思路
- 转载:Yahoo推出视频标签游戏
- windows mysql读写分离_windows下的MySql实现读写分离
- 中秋节公司发了这个(结尾分享红包)
- ie input兼容 vue_Vue项目与IE11兼容
- python模式识别
- java 调用 c# webservice 压缩 Liststring示例
- perl mysql 时间戳_讲Perl中的本地时间与UNIX时间戳间相互转换的方法
- 小美赛:模拟机舱病毒传播
- 行政区域村级划分数据库_两区划定数据库规范(试行)
- c语言编程 双斜杠报错怎么办,以双斜杠//开头的URL的含义
- python窗口显示表格_python表格界面
- IT 工程师长期保住饭碗的一些建议
- BI、大数据、数字化转型傻傻分不清?5分钟带你了解区别和联系
- 使用Python爬取中国天气网天气数据
- 微信视频号直播数据哪里可以看?
- Ubuntu 18.04 安装搜狗拼音
- 亲身经历:一次sql缺少where条件的惨案,绩效奖金差点没啦~