繁体   English   中英

Spring Mockito TestNG-模拟在测试中持续存在

[英]Spring Mockito TestNG - Mocks persist across tests

鉴于我的测试班有以下成员

@Mock
private Gateway gateway;
@Autowired
@InjectMocks
private TransactionManager transactionManager;

@BeforeClass
public void before() {
    MockitoAnnotations.initMocks(this);
}

TransactionManager在内部使用网关,并通过@Autowired 当我在此类中运行测试时,它们会通过。 但是,当我在希望使用Gateway的具体实现的单独类中运行测试时,它们使用的是模拟的Gateway

您必须检出Mockito的TestNG子项目。 您可以在我的Mockito Cookbook回购中查看用法示例-https: //github.com/marcingrzejszczak/mockito-cookbook/blob/master/chapter01/src/test/java/com/blogspot/toomuchcoding/book/chapter1/ _3_MockitoAnnotationsTestNg / assertj / MeanTaxFactorCalculatorTestNgTest.java

要使用侦听器,您必须将https://github.com/mockito/mockito/tree/master/subprojects/testng/src/main/java/org/mockito/testng文件夹的内容复制到您的项目中testng尚未发布。

我有同样的问题。 您可以在测试类上使用@DirtiesContext。

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/annotation/DirtiesContext.html

在这种情况下,您不需要任何额外的程序包或代码。 测试后,上下文将重新初始化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM