Теги огурца для примеров сценариев

В проекте, в котором я сейчас работаю, мы используем огурец для тестирования интеграции и для того, чтобы регулярные ежедневные сборки не становились слишком большими, мы используем профили, использующие теги, чтобы иметь меньший ежедневный тест и более крупный тестовый пакет еженедельной сборки.

Теперь у меня есть схема сценария с примерами ввода, которые я хочу разбить, чтобы один пример был в ежедневной сборке, а другие - в еженедельном.

Что-то в духе

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, очевидно, видит их для этой цели, но все те теги, по-видимому, доступны для - не для перехватов, а не для наблюдения за крючками.

Кажется немного несовместимым со мной.