为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在 2 个 Cest 测试之间共享变量?

有没有办法在 2 个 Cest 测试之间共享变量?

PHP
慕运维8079593 2022-01-08 17:19:18
我需要在两个测试之间共享变量。有没有可能的方法?它是 PHP 上的 Codeception。我可以制作一些 XML 文档,存储它,然后在其他测试中加载它。但这并不是我想要的。
查看完整描述

2 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

4个月后,我找到了解决方案。这种类型的测试很糟糕。这会产生对先前测试的依赖。最好使用步骤/页面对象 + 继承和代码接收数据提供者。1 个文件 = 1 个测试


查看完整回答
反对 回复 2022-01-08
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我实现了创建具有一些属性的 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 Ps:记得使用@depends来组织测试顺序


查看完整回答
反对 回复 2022-01-08
  • 2 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信