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

我需要在两个测试之间共享变量。有没有可能的方法?

它是 PHP 上的 Codeception。

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


慕运维8079593
浏览 126回答 2
2回答

SMILET

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

慕码人8056858

我实现了创建具有一些属性的 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来组织测试顺序
打开App,查看更多内容
随时随地看视频慕课网APP