2

Я пытаюсь интегрировать 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 

Мое подозрение, что «огурец-клей» область не применяется

что я отсутствующий (конфигурацию или иным образом) для этого работать правильно?

ответ

0

В версии 1.1.3 класс GlueCodeScope и GlueCodeContext, который помечается как доступ по умолчанию, а не публичный. Это делает его недоступным. Я все еще ищу решение самостоятельно. Кроме того, если вы хотите вернуться к версии 1.1.2, ваши параметры огурца не будут работать, поскольку они еще не были реализованы.

 Смежные вопросы

  • Нет связанных вопросов^_^