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

在 phpunit 中进行一些测试之前重新加载数据库

在 phpunit 中进行一些测试之前重新加载数据库

PHP
缥缈止盈 2023-10-21 16:14:40
我目前正在使用 phpunit 和 symfony 5 开发单元测试。在之前使用 behat 的工作中,我们只能为具有特定标签的测试重新加载数据库。我想做类似的事情。我知道有 setUp() 方法和 @before 注释,但它们不允许我为某些测试做事,而不是其他测试......理想情况下,我希望有一个 @reloadBase 注释来放置以此为目标的测试方法,该注释将绑定到 reloadBase() 方法或类似的方法;或者至少是类似的东西,但到目前为止我想不出一种方法来做到这一点。我想有可能将这些测试放在一个单独的文件中,该文件将有一个 setUp 方法来执行此操作,但这并不是很好,我想保留当前的文件组织...有任何想法吗 ?谢谢
查看完整描述

1 回答

?
HUH函数

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

这里有两个想法:

特征/基类
使用执行所有重新加载操作的方法创建特征或公共基类。使用该特征或扩展基类并仅在需要重新加载的方法中调用它。

扩展
实施扩展。将为BeforeTestHook每个测试调用由类和方法名称组成的字符串。您可以使用注释阅读器(例如Doctrine 的)或使用反射并自行解析 doc 块来检查@reloadBase该方法上是否存在注释。


查看完整回答
反对 回复 2023-10-21
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

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