一、背景
最近一段时间在给写的框架补单元测试。发现有一些方法做单元测试不好做,主要是其内部依赖了许多外部环境,如Zookeeper、DB、Http请求等等。
如果为了这些单元测试单独去搞一套环境,很是费事。再者代码每天在Jenkins上跑单元测试,环境不一定相通。
如果您面临上述相同的问题,可以继续向下看。
二、一个例子
2.1 需要做单元测试的代码
假设我们有下面这样一个类,其中的isAdmin
方法主要是从redis中获取数据,然后进行对比判断。现实中,这里可能有很多复杂的逻辑,这里只做抛砖引玉。
public class RedisDemo {
private Jedis jedis;
public void setUp() {
jedis = new Jedis("127.0.0.1", 6379);
jedis.connect();
}
public boolean isAdmin(String user) {
String ret = jedis.get("name");