1

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

どちらも機能しませんでした

4

1 に答える 1

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 
于 2016-08-30T07:18:28.600 に答える