Можете ли вы просмотреть мой Perl переписать огурец? - PullRequest
1 голос
/ 13 марта 2009

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

Фреймворк написан с использованием Perl 5, а файлы сценариев больше похожи на очень сложные программы на Perl (тысячи строк в стиле процедурного программирования), чем на приемочные тесты.

Я недавно выучил огурец Руби и вообще довольно часто использую его. Но, к сожалению, я не могу просто заставить Ruby заменить Perl, потому что люди, которые пишут все это, не знают Ruby, и вполне уверены, что они не захотят «такого» прерывания.

Чтобы немного приблизить Ruby's Cucumber к их работе, я переписал его с помощью Perl 5. К сожалению, я действительно не программист на Perl и хотел бы получить обзор кода и услышать предложения от людей, которые оба знают Perl и Огурцы.

Привет, пользователи Perl / Cucumber StackOverflow - пожалуйста, помогите мне создать эту "открытую" попытку воссоздать Cucumber для Perl! Я хотел бы услышать ваши комментарии и приму любую приемлемую помощь.

Минимальный исходный код здесь:

http://github.com/kesor/p5-cucumber

Спасибо за внимание.

Для тех, кто не знаком с огурцом - пожалуйста, уделите всего одну небольшую минуту, чтобы взглянуть на эту маленькую маленькую страницу: http://cukes.info/

Ответы [ 4 ]

5 голосов
/ 14 марта 2009

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

Удачи,:)

4 голосов
/ 19 марта 2012

Существует более полная реализация Cucumber на Perl в виде Test :: BDD :: Cucumber .

2 голосов
/ 14 апреля 2010

Можете ли вы просмотреть мой Perl переписать Огурцы

Ответ: Да.

Я прочитал код GitHub, который вы опубликовали. Это выглядит довольно хорошо.

Мне любопытен следующий фрагмент из Parser :: Parser.yp :: ERROR. Почему вы решили использовать "and do {}" over "if () {}"? Стиль? обзорного? другой

  exists $parser->YYData->{ERRMSG}
  and do {
    print $parser->YYData->{ERRMSG};
    delete $parser->YYData->{ERRMSG};
    return;
  };

Я не использовал огурец и все еще пытаюсь обернуть голову вокруг модели использования. Как кто-то может проверить / запустить ваш пример калькулятора?

Если вы планируете выпустить свой код в CPAN (и вы должны это сделать), то вы захотите объединить этот исходный код git в устанавливаемый tar-архив. Вы захотите включить один из инструментов установки модуля: ExtUtils :: MakeMaker, Module :: Build и т. Д. Я недавно начал использовать Dist :: Zilla , и я действительно доволен этим. Это заставило меня потратить энергию активации на выпуск моего первого модуля cpan.

20 второй тур по Dist :: Zilla:

  1. скачайте и установите Dist :: Zilla и его требования (есть многие, так как это инструмент только для разработчиков)
  2. создайте файл dist.ini в верхней части уровень вашего пакета ('dzil new MyPackage')
  3. пробег 'тест dzil', 'сборка dzil' и 'dzil выпустить ', чтобы проверить, (построить и проверить), (сборка, тестирование и выпуск)

См. Dist :: Zilla :: Учебное пособие

2 голосов
/ 13 марта 2009

Соответствует ли Test :: A8N вашему требованию?

Если нет, есть множество других Test :: модулей на CPAN , которые могут делать то, что вам нужно.

...