как при желании не запускать функцию огурца - PullRequest
14 голосов
/ 20 мая 2011

Я хочу, чтобы не запускал определенную функцию огурца, если, скажем, я в Windows.Google и документы по огурцам, похоже, высохли, и это привлекательно.

Спасибо!

Ответы [ 2 ]

19 голосов
/ 12 июня 2011

Поддерживая ответ Тайлера, я хотел бы предложить эту дополнительную информацию:

Использование Профили огурцов

Если вы используете систему в нескольких различных средах, вы можете создать файл профиля, а затем просто определить профиль по умолчанию, который исключает этот файл.

# config/cucumber.yml
##YAML Template
---
windows: --tags ~@not-windows
default: --tags @not-windows

Выполнение (в системе, отличной от Windows / по умолчанию)

$ cucumber

Выполнение (в системе Windows):

$ cucumber -p windows

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

Использование Задание на огуречные грабли

Создайте задачу rake, которая проверяет вашу среду и включает нужный тег:

require 'rubygems'
require 'cucumber'
require 'cucumber/rake/task'

WINDOWS_PLATFORM = /mswin|win32|mingw/ unless defined? WINDOWS_PLATFORM

Cucumber::Rake::Task.new(:features) do |t|
  tags = (RUBY_PLATFORM =~ WINDOWS_PLATFORM ? "~@not-windows" : "@not-windows")
  t.cucumber_opts = "features #{tags}"
end

Выполнение (на любой платформе):

$ rake features

Это должно автоматически включать правильный тег в зависимости от вашей среды.

17 голосов
/ 20 мая 2011

Лучшим способом решения этой проблемы, вероятно, будет использование тегов.

Например, если вы добавите тег, подобный @not-windows, к функции, вы можете настроить исполнение огурца так, чтобы оно игнорировалось.

@not-windows
Feature: Your feature that causes a problem
  your scenarios

Если вы затем запустите свои тесты с cucumber --tags ~@not-windows, он запустит все команды, которые не помечены @ not-windows. Это то, что вызывает поведение «не», вы можете запустить ТОЛЬКО эти теги, выполнив cucumber --tags @not-windows. Используя первую строку огурца в Windows, вы можете заблокировать запуск проблемных функций (или отдельных сценариев), но если вы работаете в другой ОС и запускаете огурец в обычном режиме, они все равно будут запущены.

Ссылка: https://github.com/cucumber/cucumber/wiki/Tags

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...