2016-06-20 2 views
1

Я использую огурец с транспортиром. Возможно ли в Огурце иметь для того же метода более одной аннотации ??У этого же шага более одного Когда/Затем

Например что-то вроде этого:

this.Given(/^I log in as user '([^']*)' with password '([^']*)'$/ 
this.When(/^I log in as user '([^']*)' with password '([^']*)'$/, function(username, password) 
{ 
} 
+0

Предлагает ли ваш пример, который вы опубликовали? Если нет, как это происходит? Благодарю. – alecxe

+0

Если использовалась вторая аннотация, все работает нормально. Для первого я получаю TypeError: Не могу прочитать свойство «timeout» undefined at nextTickCallbackWith0Args (node.js: 453: 9) at process._tickCallback (node.js: 382: 13) – mosaad

+0

А, вы имеете в виду, что он работает в 'Когда', но не в' Given'? Благодарю. – alecxe

ответ

0

С точки зрения Огурцов, нет betwen Given разницы и Then. Различные ключевые слова предназначены только для повышения читаемости файла .feature. Когда вы реализуете эти шаги, вы можете использовать любой из них.

Лично я бы никогда не рассмотрел две разные аннотации для одного и того же метода. Одного достаточно. Место, где это имеет значение, находится в сценарии, и там я буду использовать все, что мне нужно.

В то же время меня интересует, почему вы описываете свою систему с использованием одного Given и одного шага Then, который на самом деле то же самое. Given - это то, где вы готовите тестируемую систему, Then - это то, где вы утверждаете, что ожидаемый результат произошел. Мне кажется удивительным, что на самом деле это одно и то же исполнение в вашем случае. Может быть, есть причина, но мне кажется странным.