mockito 覆盖@测试配置模拟

kxe2p93d  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(176)

下面是一个服务的模拟:

@TestConfiguration
    public static class TestConfig {

        @Bean
        @Primary
        public UserService userServiceBean() {
            UserService mock = mock(UserService.class);
            doReturn(12l).when(mock).getCompanyId();
            return mock;
        }
    }

这会影响其他UT,在这些UT中,我希望返回一些其他companyId,例如:

when(userService.getCompanyId()).thenReturn(155l); <-- this mock is not working

谢谢

64jmpszr

64jmpszr1#

有些情况下你不能使用when/thenReturn。Stubbing void方法就是其中之一。其他情况包括使用Mockito spies,以及多次stubbing同一个方法。
参考:Mockito - difference between doReturn() and when()

相关问题