[Moscow.pm] А кто-нибудь пробовал Groovy?

Dmitry Arsentiev dmarsentev на gmail.com
Пт Авг 10 12:00:17 PDT 2012


Акжан, вот это ещё похоже. На руби код, как я его могу себе помыслить.
# encoding: utf-8

Допустим /ввожу число (\d+)/ do |число|
  calc.push число.to_i
end

Если /нажимаю "(.*)"/ do |операция|
  calc.send операция
end

То /результатом должно быть число (\d+)/ do |результат|
  calc.result.should == результат.to_f
end

Допустим /я сложил (\d+) и (\d+)/ do |слагаемое1, слагаемое2|
  Допустим %{я ввожу число #{слагаемое1}}
  Допустим %{затем ввожу число #{слагаемое2}}
  Допустим %{я нажимаю "+"}
end


А вот это - что, тоже руби-код?
# language: ru

Функционал: Рассылка приглашений в команду
    Чтобы пополнить команду новыми членами
    Капитан может пригласить других пользователей к себе в команду

Сценарий: Капитан видит в комнате команды ссылку "Пригласить участников"
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я захожу в комнату команды
    То должен увидеть "Пригласить участников"

Сценарий: Рядовой член команды не видит ссылку "Пригласить участников"
    Допустим зарегистрирована команда "Mushrooms" под руководством Noel
    И пользователь Alisa состоит в команде "Mushrooms"
    Если я логинюсь как Alisa
    И захожу в комнату команды
    То не должен видеть "Пригласить участников"

Сценарий: Капитан отсылает приглашение вступить в команду
    Допустим зарегистрирован пользователь Alisa
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Alisa" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователю Alisa выслано приглашение"
    И пользователь Alisa должен получить приглашение от команды Mushrooms

Сценарий: Капитан отсылает несколько приглашений
    Допустим зарегистрирован пользователь Alisa
    И зарегистрирован пользователь Aldor
    И зарегистрирована команда "Mushrooms" под руководством Noel
    И я высылаю пользователю Alisa приглашение вступить в команду
    И все отосланные к этому моменту письма прочитаны
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Aldor" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователю Aldor выслано приглашение"
    И пользователь Aldor должен получить приглашение от команды Mushrooms

Сценарий: Капитан пытается два раза отослать приглашение одному и тому
же пользователю
    Допустим зарегистрирован пользователь Alisa
    И зарегистрирована команда "Mushrooms" под руководством Noel
    И я высылаю пользователю Alisa приглашение вступить в команду
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Alisa" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Вы уже высылали этому пользователю приглашение
и он ещё не ответил"

Сценарий: Капитан пытается пригласить члена другой команды
    Допустим зарегистрирована команда "Плакучие Ивы" под руководством Iv
    И пользователь Av состоит в команде "Плакучие Ивы"
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я логинюсь как Noel
    И захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Av" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователь уже является членом одной из команд"
    И пользователь Av не должен получить приглашение

Сценарий: Капитан пытается пригласить члена своей же команды
    Допустим зарегистрирована команда "Mushrooms" под руководством Noel
    И пользователь Alisa состоит в команде "Mushrooms"
    Если я логинюсь как Noel
    И захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Alisa" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователь уже является членом одной из команд"
    И пользователь Alisa не должен получить приглашение

Сценарий: Капитан пытается пригласить самого себя :-)
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "Noel" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователь уже является членом одной из команд"
    И пользователь Noel не должен получить приглашение

Сценарий: Капитан не ввёл имени пользователя
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И нажимаю "Пригласить"
    То должен увидеть "Вы не ввели имени пользователя"

Сценарий: Капитан ввёл имя несуществующего пользователя
    И зарегистрирована команда "Mushrooms" под руководством Noel
    Если я захожу в комнату команды
    И иду по ссылке "Пригласить участников"
    И ввожу "He-does-not-exist" в поле "Пригласить нового участника"
    И нажимаю "Пригласить"
    То должен увидеть "Пользователя с таким именем не существует"
    И никакие письма не должны быть высланы


10 августа 2012 г., 20:35 пользователь Akzhan Abdulin
<akzhan.abdulin на gmail.com> написал:
> Не совсем понял вопроса. Step definitions - это код на Ruby. Они собственно
> и определяют парсинг features.
>
> 10 августа 2012 г., 20:24 пользователь Dmitry Arsentiev
> <dmarsentev на gmail.com> написал:
>
>> > На деле им пользуются в основном
>> > для функциональных тестов, тестировщики.
>> Это-то как раз и ценно.
>> Акжан, не могли бы вы прояснить, код Cucumber - это исполняемый код
>> или это "руководство к действию" вроде диаграмм UML,
>> которое (руководство) можно транслировать в исполняемый код?
>>
>> 10 августа 2012 г., 20:02 пользователь Akzhan Abdulin
>> <akzhan.abdulin на gmail.com> написал:
>> > На деле им пользуются в основном для функциональных тестов,
>> > тестировщики.
>> >
>> > Программистам ближе RSpec и RR.
>> >
>> > describe MyClass do
>> >     before (:each) do
>> >       @instance = MyClass.new
>> >     end
>> >
>> >   describe :say do
>> >     it "should puts 'wow!'" do
>> >       mock($stdout).puts 'wow'
>> >       @instance.say
>> >     end
>> >
>> >     it "should return true" do
>> >       stub($stdout).puts # чтобы не засорять stdout.
>> >       @instance.say.should be_true
>> >     end
>> >   end
>> > end
>> >
>> > 10 августа 2012 г., 19:43 пользователь Dmitry Arsentiev
>> > <dmarsentev на gmail.com> написал:
>> >
>> >> > Группа ror2ru.
>> >> Спасибо, Акжан!
>> >> Cucumber впечатлил, выглядит загадочно.
>> >>
>> >>
>> >> https://github.com/DanielVartanov/encounter-engine/blob/master/features/invitations/send-invitations.feature
>> >>
>> >>
>> >> https://github.com/cucumber/cucumber/blob/master/examples/i18n/ru/features/step_definitons/calculator_steps.rb
>> >>
>> >>
>> >> 10 августа 2012 г., 19:24 пользователь Akzhan Abdulin
>> >> <akzhan.abdulin на gmail.com> написал:
>> >> > Группа ror2ru.
>> >> >
>> >> > И OS X GCC Installer.
>> >> >
>> >> > 10 августа 2012 г., 18:53 пользователь Dmitry Arsentiev
>> >> > <dmarsentev на gmail.com> написал:
>> >> >
>> >> >> > Groovy и Grails созданы под сильным влиянием Ruby и Rails.
>> >> >> Кстати, Maven создан под идейным влиянием принципа  Rails:
>> >> >> "Convention Over Configuration".
>> >> >>
>> >> >> Оффтоп.
>> >> >> Акжан, я давно хотел у вас спросить, как у видного
>> >> >> в списке рассылки moscow.pm Ruby-ста :)
>> >> >> и вообще как у хорошего человека ;):)
>> >> >> есть ли список рассылки руби (и рэйлз) разработчиков,
>> >> >> аналогичный moscow.pm ?
>> >> >> Где можно глупые вопросы задавать.
>> >> >> И, пользуясь случаем, спасибо за подсказку,
>> >> >> как установить gcc на osx, не ставя xcode.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> 10 августа 2012 г., 18:11 пользователь Akzhan Abdulin
>> >> >> <akzhan.abdulin на gmail.com> написал:
>> >> >> > Groovy и Grails созданы под сильным влиянием Ruby и Rails.
>> >> >> >
>> >> >> > Так что я бы сразу стал изучать именно Ruby. Он "охренителен".
>> >> >> > Если
>> >> >> > хотите
>> >> >> > JVM, то есть JRuby.
>> >> >> >
>> >> >> > 10 августа 2012 г., 15:50 пользователь Alexandr Alexeev
>> >> >> > <afiskon на gmail.com>
>> >> >> > написал:
>> >> >> >>
>> >> >> >> Я тут прочитал пару статеек про Groovy и, кажется, он
>> >> >> >> охренителен!
>> >> >> >>
>> >> >> >> Кто-нибудь работал с этим языком? Как впечатления?
>> >> >> >> --
>> >> >> >> Moscow.pm mailing list
>> >> >> >> moscow-pm на pm.org | http://moscow.pm.org
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Moscow.pm mailing list
>> >> >> > moscow-pm на pm.org | http://moscow.pm.org
>> >> >> >
>> >> >> --
>> >> >> Moscow.pm mailing list
>> >> >> moscow-pm на pm.org | http://moscow.pm.org
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Moscow.pm mailing list
>> >> > moscow-pm на pm.org | http://moscow.pm.org
>> >> >
>> >> --
>> >> Moscow.pm mailing list
>> >> moscow-pm на pm.org | http://moscow.pm.org
>> >
>> >
>> >
>> > --
>> > Moscow.pm mailing list
>> > moscow-pm на pm.org | http://moscow.pm.org
>> >
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm