у нас уже есть groovy скрипт runner, который работает, и я пытаюсь изменить его, чтобы упростить команде выбор и отмена выбора среды и тестов для запуска.
все возможные тесты и среды имеют свои собственные настраиваемое свойство в тестовом примере, в котором размещен сценарий groovy. Если для настраиваемого свойства установлено значение 0, тест не запускается. если это что-то еще, что 0, тест будет запущен.
Мой сценарий создает 2 переменные, просматривая каждую среду и проверяя настраиваемое свойство, и он работает нормально, пока остальная часть сценария не считывает переменные первой части сценарий построен.
Вот один из сценариев построения переменных.
runEnv = "["
// Env. 7031
if (testRunner.testCase.getPropertyValue( 'Env-7031' ) == '1')
{runEnv = runEnv + "'7031'"}
// Env. 7131
if (testRunner.testCase.getPropertyValue( 'Env-7031' ) == '1')
// runs if a comma is needed to separate values
{if (testRunner.testCase.getPropertyValue( 'Env-7131' ) == '1')
{runEnv = runEnv + ",'7131'"}}
else
// runs if value is the first in line and doesnt need comma
{if (testRunner.testCase.getPropertyValue( 'Env-7131' ) == '1')
{runEnv = runEnv + "'7131'"}}
// Adding the end of runEnv
runEnv = runEnv + "]"
// Verification message confirming what environment(s) will be tested
log.info 'Environment Selection is: ' + runEnv
runEnvironment = runEnv
Ожидаемый результат этого сценария - то, что значение runEnvironmet будет ['7031'], если настраиваемое свойство env-7031 установлен на 1, а env-7131 установлен на 0
Когда я запускаю этот скрипт, я получаю этот журнал:
Wed May 06 07:09:38 EDT 2020:INFO:Environment Selection is: ['7031']
Wed May 06 07:09:38 EDT 2020:INFO:Test Case Selection is: ['Build-Deploy - All Tables']
Wed May 06 07:09:38 EDT 2020:INFO:Release Artifact Runner
Wed May 06 07:09:38 EDT 2020:INFO:Start Test Runner
Wed May 06 07:09:38 EDT 2020:INFO:Environment: [
мы видим, что Environment не выглядит как должно. [вместо ['7031']
Можно ли использовать groovy для создания переменной таким образом?
TL: DR
пытается получить жестко запрограммированный переменная
runEnvironment = ['7031']
из сценария, который использует настраиваемые свойства для создания этой переменной с нуля. как это моделирование
runEnvironment = '[' + "'7031'" + ']'