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

Mockito.MockedStatic用于具有参数的方法

卜和悌
2023-03-14
 mocked.when(Foo::method).thenReturn("bar");
 assertEquals("bar", Foo.method());
 mocked.verify(Foo::method);
 } 

我想要的:我在下面试过了,但它不起作用。

mocked.when(Foo.MethodWithParams(“somevalue”))

共有1个答案

濮阳功
2023-03-14

编辑-Mockito 3.7.7

Mockito 3.7.7验证参数的统一顺序(问题#2173)

更新的代码:

try (MockedStatic<Foo> dummyStatic = Mockito.mockStatic(Foo.class)) {
    dummyStatic.when(() -> Foo.method("param1"))
               .thenReturn("someValue");
    // when
    System.out.println(Foo.method("param1"));
    //then
    dummyStatic.verify(
            () -> Foo.method("param1"),
            times(1), 
    );
}
try (MockedStatic<Foo> dummyStatic = Mockito.mockStatic(Foo.class)) {
    dummyStatic.when(() -> Foo.method("param1"))
               .thenReturn("someValue");
    // when
    System.out.println(Foo.method("param1"));
    //then
    dummyStatic.verify(
            times(1), 
            () -> Foo.method("param1")
    );
}
 类似资料:
  • 问题内容: spring框架使用的方法可以传递尽可能多的参数。 我想编写一个函数,它也可以接收无限量的数据。如何调用此功能,以便我可以阅读它。或如何定义它? 非常感谢。 问题答案: 它称为varargs。 它允许方法接受任意数量的参数。它们可以在方法中作为数组访问: 这是句法糖。编译器隐藏了数组的创建,因此而不是 你写

  • 问题内容: 我想知道带有方法引用和功能接口的所有这些东西如何在较低级别上工作。最简单的例子是我们有一些列表 现在我们要使用Collections类对其进行排序,因此我们可以调用: 但是,如果我们定义自定义比较器,则可能类似于: 问题在于Collections.sort具有两个参数:List和Comparator。由于Comparator是功能性接口,因此可以用具有相同签名(参数和返回类型)的lam

  • 我对Scala和Spark RDD编程相当陌生。我使用的数据集是一个CSV文件,其中包含电影列表(每部电影一行)及其关联的用户评分(以逗号分隔的评分列表)。CSV中的每一列都代表一个不同的用户,以及他/她对电影的评价。因此,用户1对每部电影的评分在左侧第二列中表示: 示例输入: 蜘蛛侠,1,2,3,3 睡眠博士,4,4,,1 我得到以下错误: 当我执行下面的几行时。对于下面的程序,第二行代码拆分由

  • 问题内容: 我有一个方法: 由javah C / C ++头生成的此方法是: 如何从jobject(即ByteBuffer实例)获取数据数组? 问题答案: 假设您使用ByteBuffer.allocateDirect()分配了ByteBuffer,则可以使用GetDirectBufferAddress

  • 大家好,我正在使用Java反射来调用方法,并将参数传递给这些方法。下面是示例代码 用于调用方法的一段代码 其中test=“method1”/“method2”/“method3” obj是基类的对象 上面的代码抛出的是NOSuchmethodException

  • 我有以下静态工厂实现: FirstHandler和SecondHandler都实现以下接口: 请求对象是两个附加类的基类,其中包含请求的附加数据。 在我的主课上,我试着做以下几点: 请求的源由HTTP请求体提供,它可以解析为请求子类中的任何一个。我得到的编译错误是:“必需类型:捕获?扩展请求,提供请求”。 我知道请求对象不会扩展自身,这听起来很奇怪,但有没有办法这样调用handle方法?