【问题标题】:Stubbing 3rd party url from 3rd party jar?从第 3 方 jar 中存根第 3 方 url?
【发布时间】:2019-01-10 15:25:12
【问题描述】:

在编写 junit 时,我们不想碰到外部 api,因为如果它们关闭,我们的构建将失败或任何其他原因。我正在使用调用一些外部 api(端点)的第三方 jar。我可以在使用 mockito/wiremock/powermock 运行我的 junit 时存根该端点吗?

【问题讨论】:

    标签: java junit mockito powermock wiremock


    【解决方案1】:

    我只使用过 Mockito,但发现它非常适合在 JUnit 中存根 - 它有一个非常简单的语法来存根调用端点的方法,允许你说“当我调用 [endpoint] 我期望 [response] 使用“when”和“thenReturn”方法返回”,例如。

    int USER_ID = 5;    
    when(userIDFinder.find(userInformation)).thenReturn(USER_ID);
    

    所以当我的 userIDFinder.find(x) 方法在测试期间被调用时,该方法返回 5 而不是调用端点。

    【讨论】:

    • 这对我们直接从代码中调用的方法很有好处。调用外部端点的方法非常嵌套在外部 jar 中。它肯定可以使用 mockito 来完成,但非常复杂并且有很多模拟。所以寻找更好的方法
    猜你喜欢
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2011-07-01
    • 1970-01-01
    • 2015-05-13
    • 2015-04-16
    相关资源
    最近更新 更多