当前位置: 首页 > 知识库问答 >
问题:

我如何模拟条带网络调用进行Java测试[重复]

养星汉
2023-03-14

我正在尝试测试一个函数,该函数调用条带apiplan.retrieve("my_plan_id“)。我使用junit作为我的测试库,mockito作为我的模拟库。这里的问题是plan.retrieve()是一个静态方法,而mockito不支持模拟静态方法。

我试过像这样模拟plan类。

Plan plan = new Plan();
plan.setId("my_plan_id");
Plan mockedPlan = mock(Plan.class);
when(mockedPlan.retrieve("my_plan_id")).thenReturn(plan);
assertEquals(plan.getId(), myTestedFunction().getId());

这只会导致一个Stripe身份验证异常,因为我从未给Stripe一个API密钥。

在Java中模拟Stripe api调用进行测试的正确实现是什么?我好像找不到这方面的任何信息。

共有1个答案

姜永贞
2023-03-14

Mockito不支持模拟静态方法,您可以使用PowerMock来实现该任务。具体来说,您应该查看:https://github.com/powermock/powermock/wiki/mockito#mocking-statige-method

本文也回答了一个类似的问题:用Mockito模拟静态方法

 类似资料:
  • 我想用Mock for Spring Boot制作一个测试用例,但我无法连接到授权服务器: 我的控制器: 这是我的测试,但取一个错误NullPointer,可能是因为在方法中有一个参数(OAuth2Authentication auth),我不知道如何将其放入测试中:

  • 我有一个示例方法(我需要编写测试用例)如下所示, 我想模拟getConfig方法并返回一个特定的字符串值。getConfig是Kotlin对象中方法,如下所示, 下面是我尝试的测试 我没有得到任何错误,但是getConfig方法没有被嘲笑。执行实际的实现。我也试过使用Powermockito。请帮帮我

  • 问题内容: 如何模拟使用PowerMock进行测试的专用方法?我有一个类,我想使用一个调用私有方法的公共方法进行测试。我想假设私有方法可以正常工作。例如,我想要类似的东西。我发现有使用PowerMock的解决方案,但该解决方案对我不起作用。怎么做?有人有这个问题吗? 问题答案: 我在这里没有问题。使用Mockito API的以下代码,我做到了: 这是JUnit测试:

  • 本文向大家介绍java如何测试网络连通性,包括了java如何测试网络连通性的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java测试网络连通性的方法,供大家参考,具体内容如下 第一种方式:利用java运行时: Java代码 在windows平台上,上面代码没有为,ping ip 会结束,而在linux环境中ping命令,ping不通时, 会卡住,ping通,会不定的输出信息,考虑用

  • 我有一个jUnit测试,测试我的一个函数。在这个函数中,我调用了另一个类的方法,我想用mockito模拟这个方法。然而,我似乎不能实际嘲笑这一点。下面是我的jUnit测试的样子: 编辑:在我的MainClassImTesting()中。我正在调用的test()函数,它调用authenticateUser()并向它传递一个hashMap。

  • 问题内容: 通常的问题是如何模拟(作为一组测试用例的一部分)缺乏网络连接,因为这是某些测试用例中的重要考虑因素。有没有一种方法可以通过Java API(或通过JVM选项)来执行,以便某些测试用例可以在网络断开的情况下运行?(模拟还是真实?)。 更具体的情况(如果没有普遍适用的解决方案)是我正在做大量的XML文件处理(包括XSD验证),并且我需要确保没有从网络上获取任何内容,特别是属性值(提示)未使