(我假设你正在使用黄瓜JVM)
而不是使用基于SpringJUnit4ClassRunner的,你应该使用黄瓜亚军代替。
@RunWith(Cucumber.class)
要使用这一点,你需要以下依存关系:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>${info.cukes.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${info.cukes.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>${info.cukes.version}</version>
<scope>test</scope>
</dependency>
这将寻找在类路径cucumber.xml。这个XML只是一个Spring bean配置XML。我的是非常简单的,并且包含:
<context:component-scan base-package="cucumber.runtime.java.spring"/>
<context:annotation-config/>
<!-- wire beans required for testing -->
<import resource="classpath*:/context.xml"/>
当你运行你的测试,你应该可以看到弹簧负荷cucumber.xml,然后导入的context.xml。
根据“Resource vs Autowired”这个链接,他们都不推荐从Spring 3.0开始 - 所以考虑从JSR-330转到'interface Inject'注释。 –