Описване на „изчакваща“ стъпка на езика на корнишона

Опитвам се да опиша сценарий на моето приложение на езика на корнишони, така че да мога да го използвам като изпълнима спецификация. Сценарият е по-малко следният: Има фаза от процес, в която се извършва проверка. Ако всички условия за проверка са изпълнени, процесът приключва. В противен случай процесът изчаква промяна на условието (той е уведомен за това) и проверките отново, завършващи, ако са успешни. Това, което ми е трудно да опиша, е тази чакаща част. Текущата ми версия (опростена) е:

Given condition A 
And not condition B
When the check is performed
Then the result is negative, pending condition B

Това, което се опитвам да изразя с pending condition B е, че тестът ще се повтори, след като условие B се промени, но не харесвам особено тази версия, тъй като е трудно да се превърна едно към едно в тест (фактът, че condition B промените ще бъдат нов When).

Може ли някой с повече опит да предложи по-добра формула?


person Chirlo    schedule 31.03.2015    source източник


Отговори (1)


Можете или да свържете двата теста заедно, както следва:

Scenario: When A and not B result is negative, but if B happens then result is positive
  Given condition A 
  But not condition B
  Then the check returns negative
  But if condition B
  Then the check returns positive

Което може да не е най-добрата практика, но понякога е прагматичният начин за правене на нещата, особено ако тестовете се изпълняват бавно поради тестваната система или вашата тестова среда и т.н.

Или можете да го направите в два сценария с известно повторение зад кулисите.

Scenario: When A and not B the result is negative
  Given condition A 
  But not condition B
  Then the check returns negative

Scenario: When A and B the result should be positive
  Given the system has condition A but not B
  And the check is returning negative
  When condition B
  Then the check returns positive

Във вашия случай бих казал, че кой да изберете зависи от това колко време отнема да се изпълняват вашите тестове. Ако са бавни, изберете един голям сценарий. Ако не са или няма значение по някаква причина, изберете второто предложение. Второто предложение ще даде повече информация за причината за неуспеха, което е хубаво да има, но ако тестовете са бавни, мисля, че пак ще бъде съвсем очевидно защо тестът е бил неуспешен, дори ако използвате един голям сценарий.

person alannichols    schedule 31.03.2015