代码已经上传到gitee
书写MyList类
package com.github.shoothzj.mockito;
import java.util.AbstractList;
public class MyList extends AbstractList {
@Override
public String get(final int index) {
return null;
}
@Override
public int size() {
return 0;
}
final public int finalMethod() {
return 0;
}
} 书写FinalList,我们接下来书写一个Final类,继承MyList
public final class FinalList extends MyList {
@Override
public int size() {
return 1;
}
}在src/test/resources/mockito-extensions中添加名为org.mockito.plugins.MockMaker的文件,内容为
mock-maker-inlinepackage com.github.shoothzj.mockito;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
class MyListTest {
@Test
public void testMockFinalMethod() {
MyList myList = new MyList();
MyList mock = Mockito.mock(MyList.class);
Mockito.when(mock.finalMethod()).thenReturn(1);
Assertions.assertNotEquals(mock.finalMethod(), myList.finalMethod());
}
}package com.github.shoothzj.mockito;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
class FinalListTest {
@Test
public void testMockFinalClass() {
FinalList finalList = new FinalList();
FinalList mock = Mockito.mock(FinalList.class);
Mockito.when(mock.size()).thenReturn(2);
Assertions.assertNotEquals(mock.size(), finalList.size());
}
}| 留言与评论(共有 0 条评论) “” |