cucumber で Spring Boot 1.4 を使用する場合、@Autowired Bean は注入されません。
しかし、単純な Junit テストを使用すると、それらは正しく挿入されます! ここを見ましたが、問題は解決しません。
@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
}
編集: 明確にするために、Spring Boot 1.4 で Cucumber を表示し ました。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Application.class, loader = SpringApplicationContextLoader.class)
動作しませんでした
次に、これらの注釈を付けます(答えのように)
@ContextConfiguration
@SpringBootTest
どちらも機能しませんでした