我有一个功能文件夹是根目录,在子目录内我有一个名为public的文件夹,有2个功能上下文类。 SignIn.php和PostProject.php
我在behat.yml文件中指定了上下文类的路径,它一直告诉我找不到上下文类,不能使用它?我真的不知道它怎么找不到它。
我不知道如何纠正这个问题......对我来说看起来不对,也不确定我做错了什么。
任何帮助都会非常感激。下面是我的behat.yml文件
default:
suites:
public:
paths: [%paths.base%/features/public]
contexts:
- PostProject
- SignIn
- Behat\MinkExtension\Context\MinkContext
extensions:
Behat\MinkExtension:
goutte: ~
selenium2: ~
答案 0 :(得分:0)
我找到了答案。
上下文类需要由其名称空间自动加载。它需要在behat.yml文件中指定。路径上下文用于功能测试(test.feature)文件
这是修订后的.yml文件
default:
autoload:
'': %paths.base%/features
suites:
public:
paths: [%paths.base%/features]
contexts:
- public1\PostProject
- public1\SignIn
- Behat\MinkExtension\Context\MinkContext
client:
paths: [%paths.base%/features]
contexts:
- Client
extensions:
Behat\MinkExtension:
goutte: ~
selenium2: ~
上下文类的示例
namespace public1;
date_default_timezone_set("America/New_York");
use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
/**
* Defines application features from the specific context.
*/
class SignIn implements Context, SnippetAcceptingContext
{
//Content here
}
namespace public1;
date_default_timezone_set("America/New_York");
use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
/**
* Defines application features from the specific context.
*/
class PostProject implements Context, SnippetAcceptingContext
{
//Content here
}