[英]My mockito spy method is not working. Type mismatch Error
第一次使用mockito
並且 spy 似乎沒有工作,當我嘗試使用它時會出錯。
我正在使用mockito-core version 2.7.22
,但我也嘗試過version 3.3.0
並且問題仍然存在。
這是一些偽代碼示例。 我在 ClassA 中測試一個方法:
public class ClassATest{
private ClassA classAMock;
private ClassB classBMock;
private ClassC classCMock;
@Before
public void setUp() {
ClassBMock = Mockito.mock(ClassB.class);
ClassCMock = Mockito.mock(ClassC.class);
ClassAMock = Mockito.spy(ClassA.class);
}
.spy 行給出了一個錯誤,上面寫着:
類型不匹配。 無法從 Class >ClassA< 轉換為 ClassA。
.mock
工作正常。
推薦 1 個修復:將演員表添加到“ClassA”。
這發生在我試圖監視的所有類中,而不僅僅是ClassA
。
我也知道,如果我改用@Spy Annotation
,我不會收到任何錯誤,但是 mocking 完全無法模擬,就像我的“何時”方法運行真實方法而不是模擬方法一樣。
我的 mockito 進口是:
import org.mockito.Mockito;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
編輯:添加 class 層次結構......
public class ClassA{}
public class ClassB{}
public class ClassC{}
如果有人可以幫助我,將不勝感激!
謝謝。
這個例子對我有用:
public class ClassATest {
private ClassA classAMock;
private ClassB classBMock;
private ClassC classCMock;
@Before
public void setUp() {
classAMock = Mockito.spy(ClassA.class);
classBMock = Mockito.mock(ClassB.class);
classCMock = Mockito.mock(ClassC.class);
}
@Test
public void test() {
System.out.println(classAMock.getClass());
}
public static class ClassA {}
public static class ClassB {}
public static class ClassC {}
}
如果它也在你身邊,也許你有一個起點,你可以推進它直到問題發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.