https://github.com/RomanYankovsky/DelphiSpec/blob/master/Tests/DelphiSpec.Test.Languages.pas
Что сказать?
Для меня лично - "неожиданно".
Скажем так - "слишком просто". Хотя всё вроде "по делу". Что именно смущает - пока - не понял.
Может быть просто - "другой взгляд".
P.S. не дай бог кому-то подумать, что я "критикую". Просто - "переосмысливаю".
Что сказать?
Для меня лично - "неожиданно".
Скажем так - "слишком просто". Хотя всё вроде "по делу". Что именно смущает - пока - не понял.
Может быть просто - "другой взгляд".
P.S. не дай бог кому-то подумать, что я "критикую". Просто - "переосмысливаю".
Предложи свой вариант. Ну если время и желание, конечно.
ОтветитьУдалитьЯ не воспринимаю это как критику, с удовольствием восприму любые советы. Функциональная часть DelphiSpec как "выполнятора скриптов" почти полностью готова. Сейчас, чтобы ее можно было бы использовать более менее серьезно, мне нужно доказать корректность работы, хотя бы в виде покрытия юнит-тестами.
Вот эта ссылка будет полнее, там и другие файлы есть:
https://github.com/RomanYankovsky/DelphiSpec/tree/master/Tests
Предлагаю..
УдалитьВо-первых - я бы КАЖДУЮ проверку завернул бы в ОТДЕЛЬНЫЙ тест.
Да! ПИСАНИНЫ - больше. Но ЗАТО - отлаживаться - ПРОЩЕ.
Но опять же - я говорю исключительно "как я бы сделал".
Во-вторых я бы конечно использовал бы логирование что-то вроде 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