Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为所有子类在一个位置(超类)设置Mockito规则_Java_Unit Testing_Junit_Mockito - Fatal编程技术网

Java 如何为所有子类在一个位置(超类)设置Mockito规则

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

我最近开始在Junit测试中使用
@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方法)?是的。