【发布时间】:2017-08-03 14:28:48
【问题描述】:
有了 JUnit,我可以轻松使用 @MockBean:
@SpringBootTest(classes = AppConfig.class)
@RunWith(SpringRunner.class)
public @Log class ServiceDrhImplTest_JUnit {
private @Autowired ServiceDrh serviceDrh;
private @MockBean EmployeDao employeDao;
private @MockBean SalaireDao salaireDao;
但是使用 TestNG 它不能开箱即用,使用 abov 语法,模拟为空。 我必须将@Autowired 添加到@MockBean 才能使其正常工作。 每次测试后都不会重置更多的模拟,我必须这样做:
@SpringBootTest(classes = AppConfig.class)
public @Log class ServiceDrhImplTest_TestNG extends AbstractTestNGSpringContextTests {
private @Autowired ServiceDrh serviceDrh;
private @MockBean @Autowired EmployeDao employeDao;
private @MockBean @Autowired SalaireDao salaireDao;
@AfterMethod
public void afterMethod() {
Mockito.reset(employeDao, salaireDao);
}
你确认这种行为吗? 这是否意味着 Spring 停止支持 TestNG,因为它不再出现在 spring-boot ref doc 中?
【问题讨论】:
标签: spring-boot testng spring-test