首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尚未在Mink上下文类上设置获取`Mink实例。你用Behat 3启用Mink扩展了吗?

尚未在Mink上下文类上设置获取`Mink实例。你用Behat 3启用Mink扩展了吗?
EN

Stack Overflow用户
提问于 2020-05-07 05:05:06
回答 1查看 44关注 0票数 0

在我的composer.json中:

代码语言:javascript
复制
{
    ...
    "behat/behat": "^3.6",
    "behat/mink-extension": "^2.3",
    "behat/mink-goutte-driver": "^1.2",
    "behat/mink-selenium2-driver": "^1.4"
}

我的behat.yml:

代码语言:javascript
复制
default:
  autoload:
    '': %paths.base%/features/bootstrap
  suites:
    default:
      path:
        - %paths.base%/features
      contexts:
        - FeatureContext
        - Behat\MinkExtension\Context\MinkContext
        - Behat\MinkExtension\Context\RawMinkContext
  extensions:
    Behat\MinkExtension:
      base_url: https://localhost:8443
      goutte: ~      
      selenium2: ~
      javascript_session: selenium2
      files_path: 'vendor'
      sessions:
        default:
          selenium2: ~

我的功能上下文:

代码语言:javascript
复制
class FeatureContext extends MinkContext
{
/** @var Behat\Mink\Element\DocumentElement */
protected $page;

/**
 * Initializes context.
 *
 * Every scenario gets its own context instance.
 * You can also pass arbitrary arguments to the
 * context constructor through behat.yml.
 */
public function __construct()
{
    $this->page = $this->getSession()->getPage();
}

/**
 * @Given /^I am not logged in$/
 */
public function iAmNotLoggedIn()
{
    // Do nothing
}

/**
 * @When /^I visit \.*$/
 */
public function iVisit($page)
{
    $this->getSession()->visit('/login');
}

/**
 * @Then /^I should see the login page$/
 */
public function iShouldSeeTheLoginPage()
{
    $this->assertSession()->elementExists('css', '#username');
    $this->assertSession()->elementExists('css', '#password');
    $this->assertSession()->elementExists('css', '#submit');
}
}

我的功能文件:

代码语言:javascript
复制
Feature: Viewing the main page as an unauthenticated user

@javascript
Scenario: View the main page
    Given I am not logged in
    When I visit "/login"
    Then I should see the login page

当我尝试运行behat命令时,我得到错误Mink instance has not been set on Mink context class. Have you enabled the Mink Extension?。我已经查看了围绕此错误实例的问题,并遵循了尽可能多的步骤来修复,但似乎没有一个步骤起到了作用。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-08 03:29:39

因此,在FeatureContext的构造函数中,我试图在会话被完全实例化之前访问它。删除该行已解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61645382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档