我需要在两个测试之间共享变量。有没有可能的方法?它是 PHP 上的 Codeception。我可以制作一些 XML 文档,存储它,然后在其他测试中加载它。但这并不是我想要的。
2 回答
SMILET
TA贡献1796条经验 获得超4个赞
4个月后,我找到了解决方案。这种类型的测试很糟糕。这会产生对先前测试的依赖。最好使用步骤/页面对象 + 继承和代码接收数据提供者。1 个文件 = 1 个测试
慕码人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来组织测试顺序
- 2 回答
- 0 关注
- 125 浏览
添加回答
举报
0/150
提交
取消