首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Junit来模拟Builder

如何使用Junit来模拟Builder
EN

Stack Overflow用户
提问于 2018-05-17 13:55:35
回答 1查看 2.6K关注 0票数 1

我在Java中有一个生成器,它的初始化在一个方法中,如下所示。

代码语言:javascript
运行
复制
public void doSomething() {
    SymphonyClient client = new SymphonyClient.Builder("", password, uname, "");
    client.postMessage(message);
}

现在,在编写单元测试用例时,我如何模拟SymphonyClient对象。

EN

回答 1

Stack Overflow用户

发布于 2018-05-17 14:04:55

您不能像现在这样模拟SymphonyClient,这里有三个选项

  1. 使SymphonyClient成为实例字段,并将抛出构造函数注入到单元测试类中。
  2. 使用mockito创建包私有方法getSymphonyClient和模拟方法。
  3. 创建一个模拟服务,为客户端调用提供有效的http响应。

另外,如果生成器是基本代码的一部分,则可以创建setTestInstance方法并用于单元测试,因为您不希望将其公有,因此您可以通过在测试文件夹中创建SymphonyClientTestAccess来使其成为私有包,并仅为测试类提供对它的访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50393296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档