尝试模拟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);
...

09-05 15:11