2016-07-12 3 views
0

У меня есть большой набор TestNG, который вызывается с помощью задачи «test» в Gradle. Набор работает очень хорошо, но у меня возникли трудности с вопросом о Gradle для информации набора тестов. В частности, списки включенных и исключающих групп.Получение пустых списков групп TestNG в Gradle

Моя конфигурация группы в моей testng.xml выглядит примерно так:

<groups> 
    <run> 
    <exclude name="notReady" /> 
    </run> 
</groups> 

Моя цель состоит в том, чтобы обеспечить средства для пользователя, чтобы указать, включать/исключать группы во время выполнения, используя свойства командной строки, а затем добавить их в соответствующие списки в конфигурации testng. Единственный улов - мне все равно нужно уважать существующую конфигурацию include/exclude в файле testng.xml.

Вот краткий build.gradle пример того, что я пытаюсь делать в блоке задач (минус командной строки синтаксического анализа, чтобы сохранить код простым):

test { 
    useTestNG() { 
     suites("src/test/resources/testng.xml") 
     Set<String> excludeGroups = getExcludeGroups() // Returns an empty set 
     excludeGroups.add("someOtherGroup") 
     setExcludeGroups(excludeGroups) 
    } 
} 

Я бы ожидать excludeGroups быть [ 'notReady'], но вместо этого я возвращаю пустой набор. То же самое происходит и с getIncludeGroups(). Я подозреваю, что это потому, что sets() на самом деле не загружает и не анализирует XML-файл (ы) при вызове, но у меня нет никаких доказательств, подтверждающих это.

Я просматривал документы TestNGOptions, но я не уверен, что я делаю что-то неправильно или это просто ожидаемое поведение. Очевидно, что я могу обойти эту проблему, указав свои списки включения/исключения по умолчанию в build.gradle вместо testng.xml, но это кажется неуклюжим. Если бы кто-нибудь мог осветить это для меня, это было бы очень признательно.

Спасибо,

Энди

ответ

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