Я пытаюсь интегрировать DI DIY в простой проект огурца-ява-скелета.Cucumber-Spring/Java, не добавляющий бобы в область огурца-клея
Я использую: 1.2 релиз огурца-Явы/весна/JUnit & 3.2.8.RELEASE весны
Я хочу использовать пружинный аннотацию том, что я читал в «Огурцы для Java Book»- в частности две метки:
@Component
@Scope("cucumber-glue")
от того, что я понял, что с помощью этих аннотаций должны заменить ручное создание боба
вот Порти на моей «cucumber.xml», которая имеет отношение (не заголовки):
<context:component-scan base-package="hooks"/>
<context:annotation-config/>
я понял, как весной она будет выглядеть во имя пакета «зацепки» для любого из этих аннотаций.
вот мой Крючки класс - который просто печатает в @Before и @After
package hooks;
//assorted imports
@Component
@Scope("cucumber-glue")
public class TestHooks {
@Before
public void beforeCallingScenario() {
System.out.println("***********BEFORE **** About to start the scenario.");
}
@After
public void afterRunningScenario(Scenario scenario) {
System.out.println("*********** AFTER ****Just finished running scenario: "
+ scenario.getStatus());
}
когда я запускаю тесты, я считаю, что это на самом деле найти класс, потому что я вижу, это напечатано на моей консоли:
INFO: Pre-instantiating singletons in org.s[email protected]411e6b7e: defining beans [testHooks...
, но когда я запускаю тесты, они не запускаются. Однако, если я определяю этот пакет в аннотации @CucumberOptions; их подбирают.
Я также считаю, что они в настоящее время экземпляра, потому что если я пытаюсь сделать так: то есть использовать вариант клея с тем же названием пакета в @CucumberOptions и в файле cucumber.xml - я получаю следующее исключение
Causedby:org.springframework.beans.factory.NoUniqueBeanDefinitionException:No qualifying bean of type [hooks.testHooks] is defined: expected single matching bean but found 2: testHooks,hooks.TestHooks
Мое подозрение, что «огурец-клей» область не применяется
что я отсутствующий (конфигурацию или иным образом) для этого работать правильно?