Java Junit忽略方法模拟

Java Junit忽略方法模拟,java,junit,Java,Junit,我已经在一个现有类中创建了一个Junit测试用例,我想忽略几个模拟 @InjectMock private HomeService homeService; @Mock private HomeUtility homeUtility; @Test public void testIsFilterWorkedTrue() { homeService.getData(); } HomeService.java class HomeService { @Autowired

我已经在一个现有类中创建了一个Junit测试用例,我想忽略几个模拟

@InjectMock
private HomeService homeService;

@Mock
private HomeUtility homeUtility;

@Test
public void testIsFilterWorkedTrue() {

    homeService.getData();
}
HomeService.java

class HomeService {

    @Autowired
    private HomeUtility homeUtility;
    
    public [RETURN_TYPE] getData() {

        // call mocked method
        output = mockedMethodcall();

        test = homeUtility.callMethod(output);
        return test;
    }
}
在上面的代码中,对于
homeUtility.callMethod(输出),我不希望它被模仿,应该进入方法内部。我必须使用

@Mock
private HomeUtility homeUtility;

因为它也被用于其他方法。如何忽略它

您可以使用
然后调用realmethod
来确保为该对象调用实际方法

@InjectMock
private HomeService homeService;

@Mock
private HomeUtility homeUtility;

@Test
public void testIsFilterWorkedTrue() {
    when( homeUtility.callMethod(anyString()).thenCallRealMethod() )
    homeService.getData();
}
您也可以为此使用
spy
。更多阅读: