gpt4 book ai didi

php - Codeception清理与依赖

转载 作者:行者123 更新时间:2023-11-28 20:50:47 29 4
gpt4 key购买 nike

在处理 Codeception 验收测试时,我意识到最好的方法是在每次测试之前清理数据库并使每个测试独立。

但是一些 Cest 测试相互依赖。所以如果我写:

/**
* @depends createObjectBase
* @___skip
*/
public function createObjectMore(AcceptanceTester $I)
{

createObjectBase 测试在数据库中创建的数据由于清理而消失了。但是 createObjectMore 测试需要该数据。

我不能将它们组合成一个测试,因为实际上有多个区域有非常不同的测试,所以 createObjectMore 在这里只是一个占位符。

那么处理这个问题的最佳方法是什么?

最佳答案

也许依赖于 createObjectBase 的 Cests 可以扩展一个抽象(cest?)类,该类将保护该方法,然后在子 Cests 中使用 @before createObjectbase 注释在需要该数据的每个方法之前执行它。基本上,您必须每次都这样做,因为数据不会跨测试保留。

摘自 docs :

You can control execution flow with @before and @after annotations. You may move common actions into protected (non-test) methods and invoke them before or after the test method by putting them into annotations. It is possible to invoke several methods by using more than one @before or @after annotation. Methods are invoked in order from top to bottom.

关于php - Codeception清理与依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48008922/

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