2017-08-12 6 views
0

私は春のテストでBeanを模擬するために@Primary@Profileを使用します。Mockitoを使ってSpringのBeanのメソッドのみをモックする方法はありますか?

@Profile("test") 
@Configuration 
public class TestBeanConf { 

@Bean 
@Primary 
public UserService userService() { 
    UserService userService = Mockito.mock(UserService.class); 
    TokenValidationUrl validation = new TokenValidationUrl(); 
    validation.setValid(true); 
    validation.setUid("123456789"); 
    Mockito.when(userService.tokenValidation("23456")).thenReturn(validation); 
    return userService; 
} 

しかしUserService豆リターンnullの他の方法、どのように私は本当作成した豆をスパイとだけtokenValidation方法を模擬することができますか? UserService豆の一つの方法、このBeanの構築時に、我々はPARAMTERとしてそれを送信することにより、SpringコンテキストからUserServiceの既存のインスタンスをautowireとMockitoのスパイ機能を使用するスパイする

答えて

0

@Profile("test") 
@Configuration 
public class TestBeanConf { 

@Bean 
@Primary 
public UserService userServiceTest(UserService userService) { 
    UserService userService = Mockito.spy(userService); 
    TokenValidationUrl validation = new TokenValidationUrl(); 
    validation.setValid(true); 
    validation.setUid("123456789"); 
    Mockito.when(userService.tokenValidation("23456")).thenReturn(validation); 
    return userService; 
} 
関連する問題