尝试模拟MavenXpp3Reader时,尽管我尝试模拟返回值,但read()
方法仍为null。这是我的尝试
String testVer = "1.0.0.TEST";
MavenXpp3Reader mockReader = mock(MavenXpp3Reader.class);
Model mockModel = mock(Model.class);
when(mockModel.getVersion()).thenReturn(testVer);
when(mockReader.read(new FileReader("pom.xml"))).thenReturn(mockModel);
Model model = mockReader.read(new FileReader("pom.xml"));
model
保持为空。基本上,无论传递什么参数,只要要调用mockModel
,我都想返回MavenXpp3Reader.read()
。 最佳答案
尝试使用Mockito框架中的any()
而不是(new FileReader("pom.xml"))
例如:
import static org.mockito.ArgumentMatchers.any;
...
when(mockReader.read(any(Reader.class)).thenReturn(mockModel);
...