0

我有一个需要测试的集成器类,类构造函数实例化一个服务客户端。由于服务客户端是外部依赖项,我想测试集成商的个人责任。代码看起来像这样。

public class Integrator {

    Client client;

    public Integrator() {
      client = new RemoteClient();
    }

    public String invokeClient() {
      ....
    }
}

模拟这个的最好方法是什么?另外,我需要确保代码覆盖率。

4

1 回答 1

1

使用依赖注入,这样您就不会创建客户端:

public Integrator(Client client) {
    //... argument checking omitted
    this.client = client;
}

现在您的测试可以创建可以直接传入的模拟客户端。

您仍然可以保留无参数构造函数:

public Integrator() {
  this(new RemoteClient());
}
于 2013-08-25T19:13:00.183 回答