вторник, 14 мая 2013 г.

Вопрос

Если меня читают автотестеры, расскажите, чем так хорош method chaining?
Используете ли вы его в DSL, DAO, GUI методах?

7 комментариев:

  1. method chaining

    Позволяет быстро читать устойчивые конструкции кода, которые обычно идет вместе.

    Например,
    было

    form.setFirstName("FFF");
    form.setLastName("DDDD");

    Стало


    form.setFirstName("FFF").setLastName("DDD");

    Пример может и не очень уданчый, но вот для этого оно.

    ОтветитьУдалить
  2. И ответ на второй вопрос - да использую, но не всегда, и не везде.

    ОтветитьУдалить
  3. Re: method chaining

    Хм. Получается, что мы смешиваем работу DAO и DSL

    Смотри. Редактирование чего-то.

    Первый вариант. Длинно
    //работа с моделью, DAO
    obj.setFirst("bla");
    obj.setSecond("bla-bla");
    //Работа с реальностью, DSL
    form.setFirst(obj);
    form.setSecond(obj);

    Второй вариант. Одновременное изменение и модели и реальности
    obj.form.setFirst("bla").setSecond("bla-bla");

    Третий, компромисс.
    obj.setFirst("bla").setSecond("bla-bla");
    obj.form.setFirstName().setLastName();

    Как жыть?

    ОтветитьУдалить
  4. Re: method chaining

    Шо-то мине подсказывает сударь, шо если Ви чуете столь тонкую грань между DAO и DSL, то случай ваш столь особ, что требует глубочайшего разъяснения

    ОтветитьУдалить
  5. Re: method chaining

    И то верно, тут надо зрить в код.

    А у вас как, pageObject?

    ОтветитьУдалить
  6. Re: method chaining

    Мы реализуем page object pattern, но не используем page factory

    ОтветитьУдалить
  7. Re: method chaining


    form
    .setFirstName("FFF")
    .setLastName("DDD");

    ОтветитьУдалить