Тесты, выполняемые на беспилотном летательном аппарате, завершаются ошибкой с исключением IllegalArgumentException/IllegalStateException

#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 (при локальном запуске значения параметров заменяются фактическими учетными данными).

Я не уверен, почему метод вызывается в неправильное время, и я также не уверен, как отладить что-то подобное с помощью дрона (я не администратор дрона).

Как я могу сдать свои тесты на дроне?