【发布时间】:2016-08-29 02:15:46
【问题描述】:
当使用带有黄瓜的 Spring boot 1.4 时,@Autowired bean 不会被注入。
但是当我使用普通的 Junit 测试时,它们被正确注入了! 我看过here,但它并没有解决我的问题。
@SpringBootApplication
@EnableSwagger2
@ComponentScan("org.services")
public class ServicesApplication {
public static void main(String[] args) {
SpringApplication.run(ServicesApplication.class, args);
}
}
@RunWith(Cucumber.class)
public class UsersTest {
}
@RunWith(SpringRunner.class)
@SpringBootTest
public class UsersSteps {
@Autowired
private UsersService _target;//null
}
编辑: 澄清一下,我确实查看了Cucumber with Spring Boot 1.4: Dependencies not injected when using @SpringBootTest and @RunWith(SpringRunner.class) 并把这个注释
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Application.class, loader = SpringApplicationContextLoader.class)
没用
然后我把这些注释(如答案)
@ContextConfiguration
@SpringBootTest
也不行
【问题讨论】:
-
@Jörn Horstmann 我清楚地提到了上述问题,说答案对我不起作用。
标签: spring-boot cucumber-jvm cucumber-junit cucumber-java