Как создать URL в Behat - PullRequest
       23

Как создать URL в Behat

1 голос
/ 09 февраля 2012

Я начал тестировать свое приложение Symfony2 с помощью BehatBundle и MinkBundle. Сейчас я пытаюсь написать сценарии, которые проверяют отклик некоторых страниц. Эти страницы доступны через URL, который содержит идентификатор сущностей. Теперь мне интересно, как узнать, какой ID был вставлен Doctrine.

Вот пример:

Background:
    Given There is no "Category" in database
      And I have a category "Todo Lists"

  Scenario: The category can be viewed
    Given I am on "/category/<id here>"
     Then I should see "Todo Lists"

Проблема в том, что я не знаю, как узнать идентификатор вставленной категории. Это возможно с Behat / Mink?

Ответы [ 2 ]

5 голосов
/ 09 февраля 2012

Добавьте пользовательский шаг в свой класс контекста, примерно так:

/**
 * @Given /^I am on the "([^"]*)" category page$/
 * @When /^I go to the "([^"]*)" category page$/
 */
public function gotoCategoryPage($categoryName)
{
    // find category by $categoryName here
    // $category = ...

    $s = $this->getSession();
    $s->visit($this->locatePath('/category/'.$category->getId());
}
0 голосов
/ 09 февраля 2012

Вы можете изменить свой оператор Given следующим образом:

Given There is no "Category" in database
  And I have a category "Todo lists" with id "1"

Scenario: The category can be viewed
Given I am on "/category/1"
 Then I should see "Todo Lists"

А затем установите идентификатор для категории, как вы уже сделали для имени.

...