使用带黄瓜的Spring boot 1.4时,不会注入@Autowired bean。
但是当我使用简单的Junit测试时,它们被正确注入!
我看了Long
,但它没有解决我的问题。
@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
}
编辑: 为了澄清,我确实查看了here 并把这个注释
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Application.class, loader = SpringApplicationContextLoader.class)
没有工作
然后我把这些注释(如答案中所示)
@ContextConfiguration
@SpringBootTest
无法正常工作
答案 0 :(得分:1)
固定
在pom.xml中
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>${cucumber-junit.version}</version>
<scope>test</scope>
</dependency>
在UsersSteps类
中 @SpringBootTest
@ContextConfiguration(classes = {ServicesApplication.class})
@TestPropertySource(locations = "classpath:test.properties")
public class UsersSteps