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

Mockito“无法从参数化类型中选择”问题

羊刚捷
2023-03-14

我试图模拟以进行测试:

ClassA ClassA=Mockito。模拟(A类);

莫基托。when(classA.void(Mockito.any)(ClassB

但我有关于“B类”的信息

ClassA无效:ClassA。void(@NotNull ClassB

mockito-core-4.0.0,springboot,maven

知道怎么解决吗?

共有2个答案

鄢英哲
2023-03-14

因为这是一个不返回任何内容的“void”,所以它不可能返回字符串值。解决方案是:Mockito。doThrow(新异常(“发生错误”))。何时(A类)。void(Mockito.any(ClassB.class)),Mockito。任何(类别D);然后是A类。void(Mockito.any(ClassB.class)),Mockito。任何(class.d.class));…'voidName’是一个void方法,不能用返回值存根!空隙中通常留有可丢弃的东西:doThrow(例外)。何时(模拟)。someVoidMethod();如果需要将void方法设置为不执行任何操作,则可以使用:doNothing()。何时(模拟)。someVoidMethod();

林冥夜
2023-03-14

好的,这是你需要做的,以解决你的问题。

首先替换这一行:ClassA ClassA=Mockito。模拟(A类)

@MockBean
private Class classA;

作为类级别变量。之后,您需要更改以下代码:

ClassB<String, ClassC>.class

ClassB<Mockito.anyString(), Mockito.any(ClassC.class)>.class

希望这能解决你的问题。如果有效,请接受。

 类似资料:
  • 我面临泛型的问题。 下面是我使用泛型的一个类: 在这里,我们的类:使用进行参数化。 我想在我们的一种方法中指定类型,如下所示: 但是,我遇到以下编译器错误:

  • 我想创建一个rest来在服务器和客户端之间进行通信。 下面给出的构造函数: 对于普通类型,我可以执行以下操作: 如何传递泛型类型,如: 以下代码无效: 我遇到一个运行时错误:无法强制转换为ParameteredType。

  • 我在一次测试中试图使用一个模拟类,但出现了以下错误: 在pom中: (也试用了3.0.0版) 车辆等级: 测试类:

  • 我有一个抽象超类和两个非抽象子类和。如何在超类方法中定义类型,如下所示 我允许在子类方法中编写具体类型(例如,或) 在上面的示例中,子类方法不会覆盖超类方法。

  • 我对这个flutter简单图表代码有问题。在我尝试运行代码时显示此错误。有人能帮我吗...... 参数类型'List 这是代码示例:

  • 我对弗利特和我是新手;我一直在尝试开发一款带有PHP API后端的应用程序。在无数的答案和在线研究中,我无法找到解决我所面临问题的方法。我希望有人能告诉我我做错了什么。 我试图从API中获取数据,并将其显示在卡中。下面是我的代码: 希望能得到一些帮助。非常感谢。