Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.07.20;
Скачать: [xml.tar.bz2];

Вниз

DelphiSpec   Найти похожие ветки 

 
jack128_   (2013-12-22 23:45) [40]


> Kerk ©  

Зачем нужна типизация - это не интересно.
Ты лучше опиши, как ты представляешь себе работу именно в DelphiSpec.
Ну вот кто конкретно будет писать эти spec тесты и когда. Можно на примере своей работы если эта штука туда внедрена.

Ежели нет, то представим такой сценарий.
Вот пришел заказчик и сказал: "Ну это.. Типа маза такая есть, тут наши девки из бухгалтерии хотят видеть когда всякие челы в отпуск уходят/приходят. Ну вы там подкрутите что да как."
Вот кто/когда будет писать эти spec"ификации. Можешь описать?


 
Kerk ©   (2013-12-23 00:44) [41]

Я наверно так скажу. Если несколько моих попыток и даже ссылка на большую-большую статью не помогли, то оно тебе не нужно. Это нормально.


 
Пит   (2013-12-23 01:14) [42]

мне кажется Kerk не понял Jack"а... Точнее, понял, но нежелание расписать именно этот момент, который и является основным для продвижения (таки программирование как прикладная область или программинг ради программинга) - пугает.

Тем более, Женя понимает и даже считает полезным TDD. Поэтому если даже для него все столь неочевидно - у Ромы конкретные пробелы в плане донесения информации ))

Я не понял так вообще нихрена (

Это сугубо имхо, конечно. Не для того, чтобы расстроить Kerk"а, а для того, чтобы дать обратную связь от человека, уровня немного выше среднего и давно работающего с дельфи


 
antonn ©   (2013-12-23 08:50) [43]


> Kerk ©   (22.12.13 23:09) [39]

вот я и не понял, тест вместо меня будет генерить основной код который мне потом надо будет отлаживать, или я буду писать свой обычный код и потом еще писать сценарии?
я действительно не вижу причин делать этот over-скриптинг, и думал ты мне на пальцах и своими словами объяснишь, так как статьи на хабре мне никак не объяснили - куча иностранных крутых слов, а конкретики никакой, увидеть бы реальный проект куда оно внедрено, позапускать и сравнить. А то вокруг только теоретические выкладки про "эффективность"


 
Kerk ©   (2013-12-23 12:07) [44]

Еще несколько мнений по ссылке.
http://programmers.stackexchange.com/questions/160411/what-is-a-legitimate-reason-to-use-cucumber

Нет, серьезно. Если потребность до сих пор не почувствовалась, значит оно вам не нужно. И это нормально. Мне трудно раскрыть тему шире, чем я уже раскрыл. Я все-таки программист в первую очередь, а не евангелист, например. Если реально есть интерес чуть дальше, чем поболтать на форуме, то в интернете очень много материалов по Gherkin, Cucumber, SpecFlow и т.д. Есть книжка "specification by example" и некоторые другие. Но опять же - совсем не обещаю, что оно вам реально нужно.


 
Kerk ©   (2013-12-26 00:10) [45]

Feature: Accounts

Background:
 Given users exist:
   | id | name  | password |
   | 1  | Roman | pass1    |  
   | 2  | Other | pass2    |


Scenario: Correct Login
 Given my name is "Roman"
   And my password is "pass1"
 When I login
 Then I have access to private messages

Scenario: Incorrect Login
 Given my name is "Roman"
   And my password is "pass2"
 When I login
 Then access denied

Scenario: Remove user
 Given my name is "Roman"
   And my password is "pass1"
   But user "Roman" has been removed
 When I login
 Then access denied


Добавил поддержку блока "background". Он позволяет задать контекст выполнения сценариев.


 
Dennis I. Komarov ©   (2013-12-26 09:51) [46]

Ром, ты извиняй, но ИМХО достичь обратную связь с помощью скриптов будет очень очень сложно, а время на их написание потратишь ты... Думаю что толк из этого будет, когда "не программисты" будут писать, а не читать... Посмотри спецификацию BPMN ;)


 
Kerk ©   (2013-12-26 12:15) [47]

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

Поэтому я и разместился где-то между :)


 
Dennis I. Komarov ©   (2013-12-26 13:38) [48]

рисовать проще чем писать...


 
Inovet ©   (2013-12-26 14:35) [49]

> [48] Dennis I. Komarov ©   (26.12.13 13:38)
> рисовать проще чем писать...

Это смотря что рисовать и что писать.


 
Юрий Зотов ©   (2013-12-26 16:22) [50]

> Kerk ©   (26.12.13 12:15) [47]

"Непрограммисты" бывают разные. Работал и с такими, которые не только бизнес-процессы знают, и не только способны их внятно объяснить, но при случае могут и SQL-запрос написать, и от блок-схем в обморок не падают, и даже код понять способны (пусть без деталей, на макроуровне). Но работал и с такими, которые в режиме off-line хотят получать на клиенте данные, расположенные на другой машине.


 
Юрий Зотов ©   (2013-12-26 16:34) [51]

А по сабжу... пока что вижу две полезности: понятный язык описания тестов и автоматическая генерация тест-юнитов. Все хорошо, если придерживаться правила "сначала тест-юниты, затем код". Но практика часто диктует свои реалии - во-первых, большой проект замучаешься покрывать тестами, а во-вторых сильно возрастает время разработки, в то время, как тебе говорят "кончай дедукцию - давай продукцию".


 
Kerk ©   (2013-12-26 19:14) [52]


> Юрий Зотов ©   (26.12.13 16:22) [50]
> "Непрограммисты" бывают разные.

Потому и говорю, что "оба правы". Истина, как обычно, где-то посередине :)

> Юрий Зотов ©   (26.12.13 16:34) [51]

Радует наличие взаимопонимания. Я же в общем-то и не говорю, что оно нужно всегда и всем, но кому-то ведь нужно.


 
Юрий Зотов ©   (2013-12-26 23:45) [53]

> Kerk ©   (26.12.13 19:14) [52]
> Радует наличие взаимопонимания.


Меня тоже. Пришло время...
;o))))))))


 
Kerk ©   (2013-12-27 09:49) [54]

Добавил поддержку задания структуры сценария:

Scenario Outline: Add two numbers
 Given I have entered <num1> in calculator
   And I have entered <num2> in calculator
 When I press Add
 Then the result should be <sum> on the screen
 
 Examples:
   | num1 | num2 | sum |
   |  1   |  2   |  3  |
   |  4   |  5   |  9  |
   |  3   |  1   |  4  |

То есть вместо пачки похожих сценариев, можно задать структуру сценария и табличку с данными. В результате такая структура будет развернута в несколько сценариев - на сколько данных в таблице хватит.

Это уже практически предпоследняя фича из тех, что я хотел в рамках этого проекта реализовать. Релиз DelphiSpec 0.9 не за горами, думаю, пока документации нет нормальной, называть ее 1.0 было бы нечестным.


 
Kerk ©   (2013-12-27 20:58) [55]

Я был бы, кстати, очень благодарен, если бы нашлись добровольцы проверить хотя бы компилируемость демо-проекта в версиях Delphi от 2010 и выше. Пока что проверялось только в XE и XE5.


 
Kerk ©   (2013-12-28 10:54) [56]

Добавил поддержку "питоновских" "многострочных строк"

Feature: Spam Filter

Scenario: Blacklist
 Given I have a blacklist:
     """
     m@mail.com
     123@mail.com
     """
   And I have empty inbox
 When I receive an email from "m@mail.com"
 Then my inbox is empty


А так же разрешил комментарии после объявления Feature

Feature: Calculator
 In order to avoid silly mistakes
 As a math idiot
 I want to be told the sum of two numbers


Scenario: Add two numbers
 Given I have entered 50 in calculator
   And I have entered 50 in calculator
 When I press Add
 Then the result should be 100 on the screen


Пожалуй, это все, чего я пока от DelphiSpec хочу. Сосредоточусь на тестировании :)


 
картман ©   (2013-12-28 14:45) [57]

XE3 компилирует. А что такое DUnitTestRunner? нинашел


 
Kerk ©   (2013-12-28 14:54) [58]


> картман ©   (28.12.13 14:45) [57]

Это из DUnit. Оно есть в поставке Delphi, но во время установки ты мог эти галки снять.


 
Kerk ©   (2013-12-28 14:55) [59]

А за тест спасибо! Найти бы еще кого-то с D2010.


 
картман ©   (2013-12-28 15:25) [60]


> Это из DUnit.

в путях не было.
Было б неплохо при "Run" подгружать данные из поменявшихся файлов feature.


 
Дмитрий Белькевич   (2013-12-28 21:43) [61]

Пробую на 2010 собрать. Не могу найти DUnitTestRunner. Я не уверен, что в 2010-м он был. У меня еще есть XE3, то в нем есть.


 
Дмитрий Белькевич   (2013-12-28 21:47) [62]

RegularExpressions тоже нет.


 
Kerk ©   (2013-12-28 21:48) [63]

Неужто там DUnit в поставке не было? Или модуль иначе назывался? Попробуй, пожалуйста, пустой проект DUnit создать и посмотреть, что там в .dpr


 
Kerk ©   (2013-12-28 21:50) [64]

О как. Если регэкспов нет, то беда. Придется считать, что оно работает начиная с Delphi XE.

Спасибо!


 
Дмитрий Белькевич   (2013-12-28 21:58) [65]

SplitString нет и еще, видимо того-сего. Так что гляди - стоит ли допиливать или считать как XE+.
Интересно, возможно применил бы где-нибудь, есть мысли. Но уже, наверно, когда на XE5 переползем...


 
Kerk ©   (2013-12-29 22:57) [66]

Промежуточный итог
http://roman.yankovsky.me/?p=1355



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2014.07.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.003 c
15-1385306785
Inovet
2013-11-24 19:26
2014.07.20
Я заразился аудиофилизмом


15-1388394382
Krombacher
2013-12-30 13:06
2014.07.20
XCode


15-1388223885
Asi
2013-12-28 13:44
2014.07.20
Что с MP3 ?


2-1379272373
vasa777
2013-09-15 23:12
2014.07.20
unrar


2-1379405814
TInteger
2013-09-17 12:16
2014.07.20
Как использовать потоки для быстрого чтения текстового файла?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский