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

Ссылка. Unit-тесты к DelphiSpec

https://github.com/RomanYankovsky/DelphiSpec/blob/master/Tests/DelphiSpec.Test.Languages.pas

Что сказать?

Для меня лично - "неожиданно".

Скажем так - "слишком просто". Хотя всё вроде "по делу". Что именно смущает - пока - не понял.

Может быть просто - "другой взгляд".

P.S. не дай бог кому-то подумать, что я "критикую". Просто - "переосмысливаю".

3 комментария:

  1. Предложи свой вариант. Ну если время и желание, конечно.

    Я не воспринимаю это как критику, с удовольствием восприму любые советы. Функциональная часть DelphiSpec как "выполнятора скриптов" почти полностью готова. Сейчас, чтобы ее можно было бы использовать более менее серьезно, мне нужно доказать корректность работы, хотя бы в виде покрытия юнит-тестами.

    Вот эта ссылка будет полнее, там и другие файлы есть:
    https://github.com/RomanYankovsky/DelphiSpec/tree/master/Tests

    ОтветитьУдалить
    Ответы
    1. Предлагаю..
      Во-первых - я бы КАЖДУЮ проверку завернул бы в ОТДЕЛЬНЫЙ тест.

      Да! ПИСАНИНЫ - больше. Но ЗАТО - отлаживаться - ПРОЩЕ.

      Но опять же - я говорю исключительно "как я бы сделал".

      Удалить
    2. Во-вторых я бы конечно использовал бы логирование что-то вроде https://sourceforge.net/p/rumtmarc/code-0/HEAD/tree/trunk/Blogger/GUITests/Chapter3/Testing/Testing.Engine.pas

      А уж Check - делал бы - на совпадение файла с эталоном.

      Опять же - ПИСАНИНЫ больше, но зато - технологичнее.

      Т.е. вместо:

      self.CheckTrue(TDelphiSpecLanguages.CheckStepKind(skFeature, 'Feature: EN feature', 'EN'));

      Я бы написал:

      LogAndCheckWithEtalon(TDelphiSpecLanguages.StepKind(skFeature, 'Feature: EN feature'));

      "пример" вот тут - https://sourceforge.net/p/rumtmarc/code-0/HEAD/tree/trunk/Blogger/GUITests/Chapter3/DUnitScripting/DUnit.Scripting.AutoTests.pas

      Удалить