首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeception与Depends.

Codeception与Depends.
EN

Stack Overflow用户
提问于 2017-12-28 22:04:43
回答 1查看 186关注 0票数 1

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

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

代码语言:javascript
复制
/**
 * @depends createObjectBase
 * @___skip     
 */   
 public function createObjectMore(AcceptanceTester $I)
 {

由于清理,在数据库中通过createObjectBase测试创建的数据已经消失。但这些数据是createObjectMore测试所必需的。

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-01-03 16:30:04

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

摘自docs

你可以用@

和@after注解来控制执行流程。您可以将常见操作移动到受保护的(非测试)方法中,并通过将它们放入注释中来在测试方法之前或之后调用它们。可以通过使用多个@before或@after注释来调用多个方法。方法按从上到下的顺序调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48008922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档