大型软件项目,往往会在设计的时候进行模块化划分,模块之间存在依赖关系。为了减少各个模块之间的耦合,通过接口进行依赖,各个模块由不同的开发组进行并行开发。如果A模块需要使用B模块的接口,但是B模块由于开发进度缓慢,并没有完成对应实现类的开发。那么这个时候A进行单元测试就有困难了。如果A需要测试自己的模块功能,就需要将B的接口进行mock。下面介绍下jmockit如何mock接口的。
package code.c1;
public interface IStudentService {
public String getName(int id);
public int getAge(int id);
}
package code.c1;
public abstract class AbstractStudentService {
public String getName(int id) {
return "ATY";
}
public abstract int getAge(int id);
}
下面是单元测试:
package net.aty.testtools.jmockit.c1;
import mockit.Mock;
import mockit.MockUp;
import org.junit.Assert;
import org.junit.Test;
i