1

BehatBundleとMinkBundleを使ってSymfony2アプリケーションのテストを開始しました。今、私はいくつかのページの応答をチェックするシナリオを書こうとしています。これらのページには、エンティティのIDを含むURLを介してアクセスできます。DoctrineによってどのIDが挿入されたかを知る方法を考えています。

次に例を示します。

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"

問題は、挿入されたカテゴリのIDを見つける方法がわからないことです。Behat / Minkでそれは可能ですか?

4

2 に答える 2

5

次のようなカスタムステップをコンテキストクラスに追加します。

/**
 * @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());
}
于 2012-02-09T13:58:31.790 に答える
0

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"

次に、すでに名前の場合と同じように、カテゴリのIDを設定します。

于 2012-02-09T11:55:35.083 に答える