Определение шага Outline My Behat Scenario Outline возвращает неопределенное

Я создаю тесты для своего кода с использованием Behat v3.0, но у меня есть несколько шагов в набросках сценария моего файла функций, которые остаются неопределенными.

Пример моих Сценарных Контуров:

Scenario Outline: Send email validation messages
Given I have the email <email>
When I send the email
Then the response status code should be "500"And I get a message from the <variable> variable that reads <message>

Examples:
| email | variable | message                                  |
|       | email    | The email field is required.             |
| -1    | email    | The email must be a valid email address. |
| email | email    | The email must be a valid email address. |

Я использовал документацию на http://docs.behat.org/en/stable/guides/1.gherkin.html#scenario-outlines.

Чтобы определить шаги, у меня есть методы определения шагов в FeatureContext.php для двух проблемных шагов: «У меня есть электронная почта < электронная почта> «и» я получаю сообщение от переменной, которая читает < сообщение> «:

/**
* @Given I have the email :email
*/
public function iHaveTheEmail($email)
{
// Save the email address
}

/**
* @Then I get a message from the :variable variable that reads :message
*/
public function iGetAMessageFromTheVariableThatReads($variable, $message)
{
// Check the response for the validation errors
}

Я использовал документацию на http://docs.behat.org/en/v3.0/guides/2.definitions.html

Результат работы Behat настаивает на том, что эти шаги все еще не определены. Только шаги с параметрами, связанными со списками примеров, имеют эту проблему. Шаг «Код статуса ответа должен быть« 500 »» работает как задумано.

Я не могу найти конкретные примеры определения шагов в набросках сценария, и документация, как правило, недостаточна для Behat.

Я могу определить шаги с помощью комментария регулярного выражения, как в Behat v2.5, но разве это единственное решение?

0

Решение

Вы должны использовать кавычки для ваших аргументов:

Scenario Outline: Send email validation messages
Given I have the email "<email>"When I send the email
Then the response status code should be "500"And I get a message from the "<variable>" variable that reads "<message>"

Или вы можете использовать регулярные выражения, как Mink Extension:

https://github.com/Behat/MinkExtension/blob/master/src/Behat/MinkExtension/Context/MinkContext.php#L38

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]