roc*_*cky 10 java junit4 mockito
我有一个场景,一个类中有两个属性,一个属性是真实的,另一个是模拟的,如何将这两个属性注入到对象中。
例如。
@RunWith(MockitoJUnitRunner.class)
public class SampleTest extends ExchangeTestSupport {
@InjectMocks
private SampleTest sampleTest ;
private SampleProperties properties;
@Mock
private SampleProvider provider;
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,属性是真实的,提供者是模拟的,需要将两者注入到sampleTest对象中。
添加@Spy以注入真实对象
@Spy
private SampleProperties properties;
Run Code Online (Sandbox Code Playgroud)
用 @Spy 注解的字段可以在声明点显式初始化。或者,如果您不提供实例,Mockito 将尝试找到零参数构造函数(甚至是私有的)并为您创建一个实例。
如果使用 Spring 上下文,还要添加@Autowired注释