gpt4 book ai didi

java - 如何使用 thenReturn 上课?

转载 作者:行者123 更新时间:2023-12-02 01:11:13 28 4
gpt4 key购买 nike

这确实是一个新手问题,但我不知道如何解决这个问题。

我必须模拟一个方法来返回这样的类。

public Class<? extends SomeClass> getAClass();

如果我做这样的事情

when(this.someInstance.getAClass())
.thenReturn(SomeClassThatExtendsSomeClass.class);

我收到编译错误。

The method thenReturn(Class<capture#1-of ? extends SomeClass>) in the type OngoingStubbing<Class<capture#1-of ? extends SomeClass>> is not applicable for the arguments (Class<SomeClassThatExtendsSomeClass>)

最佳答案

如果方法声明可以更改为@Bohemian 上面建议的内容,

public <T extends SomeClass> Class<T> getAClass();

然后你可以编写你的模拟语句如下:

when(this.someInstance.<SomeClassThatExtendsSomeClass>getAClass())
.thenReturn(SomeClassThatExtendsSomeClass.class);

否则,doReturn 语义应按如下方式使用:

Mockito
.doReturn(SomeClassThatExtendsSomeClass.class)
.when(this.someInstance.<SomeClassThatExtendsSomeClass>getAClass());

关于java - 如何使用 thenReturn 上课?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342277/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com