在尝试针对某项功能运行Behat时,报告的方案和步骤未定义

时间:2014-05-03 12:30:39

标签: php windows cmd bdd behat

我正在经历在Windows上设置和运行behat的过程。安装和设置成功,现在尝试从CMD运行时我得到:

2 scenarios (2 undefined)
8 steps (8 undefined)
0m0.081s

You can implement step definitions for undefined steps with these snippets:

/**
 * @Given /^I am on "([^"]*)"$/
 */
public function iAmOn($arg1)
{
    throw new PendingException();
}

等等。

我正在运行命令:

 F:\Program_Files\Behat\bin>Behat F:\Program_Files\Behat\vendor\behat\mink-extension\features\search.feature

我认为没有达到某些资源,因此存在所有相关目录:

Behat: "F:\Program_Files\Behat\bin\"
Features: "F:\Program_Files\Behat\vendor\behat\mink-extension\features\"
Feature context: "F:\Program_Files\Behat\bin\features\bootstrap\FeatureContext.php"
Behat config: "F:\Program_Files\Behat\bin\behat.yml"

尝试将功能文件放在此处:“F:\ Program_Files \ Behat \ bin \ features \ search.feature” 给出相同的输出。

请告诉我,如何成功运行指定的* .feature文件。感谢。

更新

当我运行“> behat -dl”时没有输出 - 我想我没有达到定义表达式。

1 个答案:

答案 0 :(得分:1)

是的,步骤定义中缺少:

Behat\bin\features\bootstrap\FeatureContext.php

在本教程中运行测试脚本时,我感到很困惑: http://knpuniversity.com/screencast/behat/intro

如果其他人遇到此问题,请按照以下步骤操作并手动添加步骤定义: http://docs.behat.org/quick_intro.html#writing-your-step-definitions

或者请检查FeatureContext.php是否正确继承了Mink库中的步骤定义。你应该注释掉这一行:

Behat\Behat\Context\BehatContext,

添加以下行:

use Behat\MinkExtension\Context\MinkContext;

修改FeatureContext类声明以扩展MinkContext

class FeatureContext extends MinkContext { // code here }