Java 如何为所有子类在一个位置(超类)设置Mockito规则
我最近开始在Junit测试中使用Java 如何为所有子类在一个位置(超类)设置Mockito规则,java,unit-testing,junit,mockito,Java,Unit Testing,Junit,Mockito,我最近开始在Junit测试中使用@Mockito注释 我开始使用@Mockito的原因是对所有服务类使用@Autowired花费了很长时间 我有50多个使用同一类的测试,例如:userService 我想在我的超级班上有这个 @Mock private UserService userService; 为了设置所有子类的模拟,所有子类都有不同的方法和多个@Test 通常我要做的是在@Test方法中添加这一行: Mockito.when(userService.isValid()).t
@Mockito
注释
我开始使用@Mockito
的原因是对所有服务类使用@Autowired
花费了很长时间
我有50多个使用同一类的测试,例如:userService
我想在我的超级班上有这个
@Mock
private UserService userService;
为了设置所有子类的模拟,所有子类都有不同的方法和多个@Test
通常我要做的是在@Test
方法中添加这一行:
Mockito.when(userService.isValid()).thenReturn(true));
我怎样才能在一个地方(在超级类中)设置这个模拟,并且所有的子类都可以知道使用这个模拟?我通过使用这个注释解决了这个问题
@Before – Run before @Test
在这里我设置规则
Mockito.when(userService.isValid()).thenReturn(true))代码>您是否在询问如何使类字段对子类可见??超类上的@RunWith(MokcitoJunitRunner.class)
和字段上的@Mock-protected-UserService-UserService
将起作用。所有子类如何知道此行为Mockito.when(UserService.isValid())。然后返回(true));为什么不创建一个具有安装方法调用“Mockito.when(userService.isValid()).thenReturn(true));”@kuhajeyan我需要为安装程序使用特殊注释(Init方法)?是的。