Запускать тесты на огурец из весенней загрузки CommandLineRunner - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь запустить тесты на огурец из приложения весенней загрузки.Моя структура проекта выглядит следующим образом:

app.jar - толстая банка с пружинной загрузкой

util-autoconfig.jar - класс автоконфигурации, который загружает 1 компонент, Foo.class

test1.jar- содержит пошаговые определения и некоторые классы, помеченные @ Component

test2.jar - как test1.jar, только разные шаги и разные классы

Я вызываю приложение так:

java -jar -Dloader.path=$LIB/test1.jar app.jar

Я использую общее имя базового пакета, поэтому мой test{1,2}.jar будет сканироваться во время запуска.

Внутренне, в app.jar есть CommandLineRunner, который выполняет и настраиваетвремя огурца через cucumber.runtime.Runtime.

Это все работает.Мои функции выполнены, и я вижу вывод на консоль для успеха / неудачи.Однако я не использую пружинный впрыск в моих пошаговых определениях.

Я хочу @Autowired боб Foo из util-autoconfig в пошаговые определения в каждой тестовой банке.Это не работает.

У меня есть cucumber-spring на пути к классам, я уже распаковал cucumber-java, когда моя толстая банка создана.Опять же, я могу нормально запускать cucumber.

Я просто не могу вставить бины из контекста приложения весенней загрузки в мои пошаговые определения.Я подозреваю, что это будет работать нормально, если я использую cucumber.xml, но я не хочу его использовать, и при этом я не хочу инициализировать два контекста (через весеннюю загрузку, затем через огуречный SpringFactory).

Это возможно?Это позволило бы мне выводить много вещей и просто переключать шаги через свойство loader.path, которое является моей основной потребностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...