我有一个很长的测试,它使用@RunWith(MockitoJUnitRunner.class)
运行器并使用"@Mock"注释定义十几个模拟,例如:
@RunWith(MockitoJUnitRunner.class)
public class MyTest() {
@Mock Type1 name1;
@Mock Type2 name2;
@Mock Type3 name3;
@Mock Type4 name4;
@Mock Type5 name5;
// etc.
//tests
}
如何使所有模拟都变得冗长,理想情况下代码更改次数最少?我想这是一个常见问题,我需要调试测试的问题,但随后我想恢复到正常(非冗长)模拟。
您现在必须手动执行此操作。
没有全局或基于注释的设置:
@Mock
注解只能有属性的编译时常量,似乎没有任何关于公共设置或其组合的常量(除了extraInterfaces
、serializable
、name
和defaultAnswer
)。-
initMocks
不需要任何额外的配置设置。 - 这不是通过
MockingDetails
公开的细节,因此您无法在创建模拟后反射性地遍历测试类并更改模拟。