我有一个需要测试的集成器类,类构造函数实例化一个服务客户端。由于服务客户端是外部依赖项,因此我想测试集成商的个人责任。代码如下所示。
public class Integrator {
Client client;
public Integrator() {
client = new RemoteClient();
}
public String invokeClient() {
....
}
}
mock 这个的最好方法是什么?另外,我需要确保代码覆盖率。
最佳答案
使用依赖注入(inject),这样您就不会创建客户端:
public Integrator(Client client) {
//... argument checking omitted
this.client = client;
}
现在您的测试可以创建可以直接传入的模拟客户端。
您仍然可以保留无参数构造函数:
public Integrator() {
this(new RemoteClient());
}
关于java - 模拟 JUnit 构造函数的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432328/