2

我在 windows7 上使用 behat ..这是我今天挣扎的第四天...我写了一个功能

#homepage.feature

Feature: To test the Home page loads successfully.

Scenario:
     Given I am in a session
     When I request the page "index.php"
     Then I should get some content

和定义的步骤

 /**
 * @Given /^I am in a session$/
 */
public function iAmInASession() {
    $driver = new \Behat\Mink\Driver\Selenium2Driver(
            'firefox', 'base_url'
    );

    global $session;
    $session = new \Behat\Mink\Session($driver);

    // start session:
    $session->start();

}

/**
 * @When /^I request the page "([^"]*)"$/
 */
public function iRequestThePage($page)
{
    global $session;

    $session->visit($page);


}

/**
 * @Then /^I should get some content$/
 */
public function iShouldGetSomeContent()
{
    global $session;
    if( $session->getPage()->getContent() )
        echo $session->getPage()->getContent();
    else
        throw new Exception("The page couln't load successfully!");
}

它还向我展示了 147 个未定义的场景和 878 个未定义的默认步骤,而其中一些步骤在 FeatureContext.php 中定义

请帮忙!!!

4

1 回答 1

1

对不起,我犯了几个错误....我没有创建 features 目录,而是将我的功能添加到 vendor\behat\behat\features 目录,并将步骤定义添加到 vendor\behat\ behat\features\bootstrap\FeatureContext.php

为了使它工作,我必须通过在命令提示符下键入 vendor\behat\behat\bin\behat --init 在项目的根目录中创建功能目录

所有功能都应位于此目录中,步骤应位于 root\features\bootstrap\FeatureContext.php

此外,uri 应该是 $session->visit() 中的 'http://'.localhost/Project/.$page

希望这对某人有帮助!

于 2013-07-12T04:34:21.923 回答