【发布时间】:2016-08-22 11:19:59
【问题描述】:
使用 behat 为我的项目设置测试...我得到了大部分工作 - 除了页面对象。这是我的 behat.yml
default:
autoload: [%paths.base%/boostrap]
suites:
web:
paths: [%paths.base%/features/web]
contexts:
- Web\LoginContext
api:
paths: [%paths.base%/features/api]
contexts:
- Api\ApiContext
extensions:
Behat\MinkExtension:
base_url: http://my.url.com
selenium2: ~
SensioLabs\Behat\PageObjectExtension:
namespaces:
page: [Page]
element: [Page\Element]
我正在关注PageObjectExtention documentation。我创建了LoginPage 类,它从Page 扩展而来,并更新了我的上下文文件以使用页面注入。
我的 LoginPage 类如下所示:
<?php
namespace Page;
use SensioLabs\Behat\PageObjectExtension\PageObject\Page;
class LoginPage extends Page
{
}
我的 Context 文件如下所示:
namespace Web;
use Behat\Behat\Tester\Exception\PendingException;
use Page\LoginPage;
class LoginContext extends MednavMinkContext
{
private $loginPage;
public function __construct(LoginPage $homepage)
{
$this->loginPage = $homepage;
}
...
}
然而,当我尝试运行它时,我得到了
[ReflectionException]
Class Page\LoginPage does not exist
这些页面对象应该存储在哪里?我尝试了所有可能的位置 - 在 boostrap 内的 Page 下,在根目录下的 Page 下,以及其他几个 - 运气不好。
【问题讨论】:
标签: behat mink pageobjects