(я предполагаю, что вы используете огурец-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 представляет собой просто конфигурацию XML-конфигурации весны. Шахта довольно прямо вперед, и содержит:
<context:component-scan base-package="cucumber.runtime.java.spring"/>
<context:annotation-config/>
<!-- wire beans required for testing -->
<import resource="classpath*:/context.xml"/>
Когда вы запускаете тесты, вы должны увидеть Spring нагрузки cucumber.xml, а затем импортировать context.xml.
Согласно ссылке 'Ресурс против Autowired', они оба не рекомендуются с весны 3.0 - поэтому перейдем к аннотации' Inject' от JSR-330. –