gpt4 book ai didi

Symfony 2 BDD Behat 上下文 "I am not logged in"

转载 作者:行者123 更新时间:2023-12-01 10:59:53 24 4
gpt4 key购买 nike

在 BDD Behat 场景中,如何手动确保用户未登录我的 FeatureContext 类?例如我有这个场景:

Scenario: passing wrong values will not get me in
Given I am on "/login"
And I am not logged in
When I fill in "login" with "KtokolwiekWidzialKtokolwiekWie"
When I fill in "password" with "root_as_allways"
When I press "Login"
Then I should be on "/"
And I should see "Wrong login or password"

我已经定义了这个上下文:

/**
* @Given /^I am not logged in$/
*/
public function iAmNotLoggedIn()
{
# logout currently login user, if any
$request = $this->kernel->getContainer()->get('request');
$request->getSession()->invalidate();
}

但这在运行此功能测试时会给我一个错误。

You cannot create a service ("request") of an inactive scope ("request").

注意:我使用的是 Symfony 2.1 RC-1

最佳答案

这是您可以使用的自定义步骤:

/**
* @Given /^I am not logged in$/
*/
public function iAmNotLoggedIn()
{
$this->getMink()
->getSession()
->visit($this->locatePath('/logout'))
;
}

但您可能需要更新您的步骤顺序:

Given I am not logged in
And I am on "/login"

关于Symfony 2 BDD Behat 上下文 "I am not logged in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12077567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com