2014-05-03 16 views
3

我正在经历在Windows上设置和运行behat的过程。安装和设置成功的地方,现在试图从CMD运行时我得到:在试图针对功能运行Behat时,情况和步骤被报告为未定义。

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” 给出相同的输出。

请让我知道,如何成功地运行behat指定的* .feature文件。谢谢。

UPDATE:

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

+1

bahat.yml看起来不正确 –

+0

@CiaranMcNulty - 改名它到“behat.yml”。感谢您的注意。但它并没有解决主要问题。 –

回答

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是否正确地继承了步骤定义来自水貂图书馆。你应该注释掉该行:

Behat\Behat\Context\BehatContext, 

加入这一行:

use Behat\MinkExtension\Context\MinkContext; 

并修改FeatureContext类声明以扩展MinkContext

class FeatureContext extends MinkContext { // code here } 
相关问题