#java #spring-boot #spring-boot-test #drone #drone.io
Вопрос:
Я пытаюсь запустить тесты пользовательского интерфейса на дроне (тесты Springboot selenium/java), но они продолжают терпеть неудачу за исключением:
TestClass gt; testName() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 Caused by: org.springframework.beans.factory.BeanCreationException at AutowiredAnnotationBeanPostProcessor.java:405 Caused by: java.lang.IllegalArgumentException at PropertyPlaceholderHelper.java:180
Эти тесты отлично выполняются локально, выполняются с помощью ./gradlew test
(той же команды в моем .drone.yml
).
Мой файл дрона выглядит следующим образом:
kind: pipeline type: kubernetes name: default tolerations: - effect: NoSchedule key: app operator: Exists steps: - name: build image: openjdk:15.0.2-jdk-buster environment: TEST_RAIL_PASSWORD: from_secret: TEST_RAIL_PASSWORD TEST_RAIL_USER_NAME: from_secret: TEST_RAIL_USER_NAME BEARER_TOKEN: from_secret: BEARER_TOKEN commands: - ./gradlew clean - ./gradlew test
Мой resources/config.properties
файл выглядит примерно так:
testrail.userId=${TEST_RAIL_USER_NAME} testrail.password=${TEST_RAIL_PASSWORD} bearer.token=${BEARER_TOKEN}
Токен на предъявителя устанавливается с помощью java.util.Properties
, а свойства тестового рельса автоматически подключаются через Spring ( @Autowire
/ @Value
). Все мои тесты-это тесты Springboot.
Локально эти тесты выполняются нормально при выполнении через ./gradlew test
(при локальном запуске значения параметров заменяются фактическими учетными данными).
Я не уверен, почему метод вызывается в неправильное время, и я также не уверен, как отладить что-то подобное с помощью дрона (я не администратор дрона).
Как я могу сдать свои тесты на дроне?