0

有没有人遇到以下问题:behat 显然工作正常,但它没有预定义的步骤:结果

\tests> php .\behat\behat.phar -di

即使文件 FeatureContext.php 没有定义步骤,也是空的。我的behat版本是2.4.0,它是在PHAR的帮助下安装的,PHP版本是5.4.9。下面是我安装的一些细节。树形结构如下:

tests> dir
Directory: xxx\tests
Mode      Name                                       
d----     behat                                   
d----     features                                   
-a---     bootstrap.php                                   
-a---     phpunit.xml                                   
-a---     WebTestCase.php   

behat 文件夹包含以下文件:

tests> dir .\behat
Directory: xxx\tests\behat
Mode       Name
-a---     behat.phar                                   
-a---     mink.phar                                   
-a---     mink_extension.phar

而功能文件夹只有引导目录

   tests> dir .\features
Directory: xxx\tests\features
    Mode     Name
    d----   bootstrap   

其中包含唯一具有以下内容的文件 FeatureContext.php

<?php

use Behat\Behat\Context\ClosuredContextInterface,
    Behat\Behat\Context\TranslatedContextInterface,
    Behat\Behat\Context\BehatContext,
    Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
    Behat\Gherkin\Node\TableNode;

class FeatureContext extends BehatContext
{
    public function __construct(array $parameters)
    {
        // Initialize your context here
    }
}
4

1 回答 1

1

Behat 本身没有任何预定义的步骤。

我可以看到你下载了 mink 扩展,我猜你正在寻找它附带的步骤(它们在MinkContext中定义)。你没有粘贴你的behat.yml所以我不确定你是否真的启用了扩展。更多细节请关注官方文档

注意:在MinkContext中定义的步骤是一个好的开始,但是一旦您完成了 Behat 的使用,您应该开始编写自己的步骤并使用您的业务领域的语言。默认MinkContext步骤几乎不会反映一个人的领域语言。

于 2013-02-28T15:55:07.533 回答