Этого можно добиться, установив приоритет или зависимость, поддерживаемые в QAF , который является реализацией TestNg для BDD . Установка приоритета со сценарием должна сделать необходимое, например:
со сценарием QAF в DeleteAssets.feature
может выглядеть следующим образом:
@priority:100
#or you can set dependencies like below
#@dependsOnGroups:['create','schedule']
@delete @otherGroup
Scenario: Delete existing Asset
Given ...
Примечание : синтаксис gherkin t поддерживает метаданные, поэтому вам нужно использовать синтаксис qaf bdd или bdd2 и соответствующую фабрику для запуска тестов.
Я использовал части POCO время от времени и нашел, что это очень хорошая библиотека. Я в основном отказался от ACE несколько лет назад, но POCO содержит некоторые из тех же шаблонов - Task, Reactor и т. Д. У меня никогда не было проблем с этим, поэтому я должен предположить, что он стабилен.
Некоторые аспекты, которые мне нравятся:
Это довольно хорошо интегрированная иерархия ООП, поэтому компоненты хорошо работают друг с другом. У него гораздо более сплоченный вид, чем у чего-то вроде Boost, который довольно частичен.
Исходный код доступен и очень понятен. Вам не нужно выделять большие блоки времени, чтобы понять, что он делает (ACE, по крайней мере, последний раз, когда я смотрел на источник) или быть мастером шаблонов (Boost).
Компоненты придерживаются стандарта C ++. Исключения являются производными от std :: exception; они не t изобретать еще один класс строки и т. д.
Это удивительно всеобъемлющий. Там намного больше, чем кажется на первый взгляд.
Недостаток:
Вопрос личных предпочтений, но авторы в значительной степени придерживаются модели файла заголовка по одному классу, так что вы в конечном итоге включаете много разных файлов. .
Ограниченная документация. В основном страницы API типа Doxygen и несколько PDF-файлов, указывающих на исходные примеры. Он пригоден для использования, но, учитывая размер библиотеки, его изначально трудно определить, если вы наилучшим образом используете компоненты.
Если вокруг него построено активное сообщество, я его никогда не обнаруживал. Пакет поддерживается какой-то европейской компанией, и у них была вики, но я не нашел ее активной или полезной.
С учетом всех обстоятельств, недостаток довольно незначительный.
Я никогда не использовал ACE, но я использовал Boost и Poco. Мне очень нравится стиль кодирования Poco. Пакеты согласованы, и исходный код легко читается. Они не сумасшедшие как шаблон. Исходя из своего опыта, я часами читал, как использовать boost - пакет сериализации, контейнер карты указателей и т. Д., И мало времени читал, как использовать Poco. Я бы сказал, что они имеют хороший дизайн и используют шаблоны там, где это необходимо.
С другой стороны, у них есть документация по API, но у них нет обширной документации о том, как вы будете использовать пакет. Для этого вы обычно смотрите исходный код примера или исходный код их модульных тестов.
У меня HTTPServer работает на Windows / Linux без каких-либо явных ошибок.
Поэтому отметьте это как 1 положительный опыт.
Мне кажется, что boost имеет наибольшую тягу для новых библиотек C ++ и тот факт, что многие из них были приняты в Будущий стандарт C ++ говорит сам за себя.
Я использую ACE и Boost сам, и поэтому я выбрал их, потому что они зрелые (особенно ACE), имеют большое сильное сообщество пользователей, которое гарантирует, что они будут поддерживаться и улучшаться, и что я могу получить качественную профессиональную поддержку. Мы используем Remedy IT для нашей поддержки ACE / TAO и очень довольны.
Поскольку ACE является гораздо более старой библиотекой, чем Boost, и одной из ее целей является поддержка более экзотических (например, встроенных) платформ, которые она делает Не используйте такие передовые технологии C ++, как Boost. Я использую смесь ACE и Boost и очень доволен этой комбинацией.
Я не Я не совсем понимаю, почему вы выбрали wxWidgets, так как это в основном библиотека графического интерфейса. Но если бы мне пришлось делать некоторые проекты C ++ UI, я бы пошел с QT , в основном потому, что это также широко используемая библиотека (весь рабочий стол KDE построен поверх QT) и поэтому хорошо поддерживается, и я будет иметь доступ к большой базе пользователей для вопросов и поддержки.