Теги огурца для примеров сценариев
В проекте, в котором я сейчас работаю, мы используем огурец для тестирования интеграции и для того, чтобы регулярные ежедневные сборки не становились слишком большими, мы используем профили, использующие теги, чтобы иметь меньший ежедневный тест и более крупный тестовый пакет еженедельной сборки.
Теперь у меня есть схема сценария с примерами ввода, которые я хочу разбить, чтобы один пример был в ежедневной сборке, а другие - в еженедельном.
Что-то в духе
Scenario Outline: Doing some tests
Given a step
When I do some <input>
Then I should get some <output>
Examples:
|input |output |
@daily
|daily 1 |daily 2 o |
@weekly
|week 1 |week 1 o |
|week 2 |week 3 o |
. .
. .
. .
|week 999 |week 999 o|
Возможно ли это в любом случае? Должно быть? Или это глупая идея сделать это таким образом?
Ответы
Ответ 1
После некоторых исследований я узнал, что это уже поддерживается из коробки. Вам просто нужно добавить два примера заголовка к тесту. Используя мой собственный пример из вопроса, чтобы проиллюстрировать
Scenario Outline: Doing some tests
Given a step
When I do some <input>
Then I should get some <output>
@daily
Examples:
|input |output |
|daily 1 |daily 2 o |
@weekly
Examples:
|input |output |
|week 1 |week 1 o |
|week 2 |week 3 o |
. .
. .
. .
|week 999 |week 999 o|
Ответ 2
Пробовали ли вы использовать "Перед крючком" для примера? Это не работает для меня, это может быть ошибка или функция.
Scenario Outline: Doing some tests
Given a step
When I do some <input>
Then I should get some <output>
@daily
Examples:
|input |output |
|daily 1 |daily 2 o |
Before('@daily') do
p "before daily"
end
Ничего не происходит. Кажется, что огурец не знает о примерах до. Использование Ruby Cucumber 1.3.10
Ответ 3
Я сижу в отладчике, в сценарии "после сценария", где "сценарий" отображается как огурец: Ast: OutlineTable:: ExampleRow и "scene.source_tag_names" возвращают теги функций и теги контура сценария.
Корни в объекте напрямую, хотя я могу легко найти ссылки на таблицы и ячейки, я даже не могу найти теги таблицы примера с помощью силы.
Мы успешно используем теги в таблицах примеров, чтобы их фильтровать и удалять (в соответствии с принятым ответом), поэтому Cucumber, очевидно, видит их для этой цели, но все те теги, по-видимому, доступны для - не для перехватов, а не для наблюдения за крючками.
Кажется немного несовместимым со мной.