是否可以在2个Cest测试之间共享变量?

问题描述 投票:0回答:2

我需要在两个测试之间共享变量。有什么办法吗?

这是PHP上的Codeception。

我可以制作一些XML文档,将其存储,然后在其他测试中加载它。但这并不是我想要的。

php automated-tests codeception
2个回答
0
投票

我实现了创建具有一些属性的BaseCest类,这些属性将在扩展它的类上共享。看起来像:

class BaseCest
{

    protected $token;

    public function _before(ApiTester $I)
    {
        $this->token = $GLOBALS['token'] ?? null;
    }
}

并且在您的AuthCest上:

class AuthCest extends BaseCest
{

    public function loginSuccess(ApiTester $I)
    {
        global $token;
        # your tests go here
        $token = $I->grabDataFromResponseByJsonPath('$meta.token')[0];
    }

对于以后的测试,只需致电$this->token附:请记住使用@depends来组织测试顺序


0
投票

[4个月后,我找到了解决方案。这种测试是不好的。这创建了对先前测试的依赖。最好使用步骤/页面对象+继承和代码接收数据提供程序。1个文件= 1个测试

© www.soinside.com 2019 - 2024. All rights reserved.