我目前正在使用 phpunit 和 symfony 5 开发单元测试。在之前使用 behat 的工作中,我们只能为具有特定标签的测试重新加载数据库。我想做类似的事情。我知道有 setUp() 方法和 @before 注释,但它们不允许我为某些测试做事,而不是其他测试......理想情况下,我希望有一个 @reloadBase 注释来放置以此为目标的测试方法,该注释将绑定到 reloadBase() 方法或类似的方法;或者至少是类似的东西,但到目前为止我想不出一种方法来做到这一点。我想有可能将这些测试放在一个单独的文件中,该文件将有一个 setUp 方法来执行此操作,但这并不是很好,我想保留当前的文件组织...有任何想法吗 ?谢谢
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
这里有两个想法:
特征/基类
使用执行所有重新加载操作的方法创建特征或公共基类。使用该特征或扩展基类并仅在需要重新加载的方法中调用它。
扩展
实施扩展。将为BeforeTestHook
每个测试调用由类和方法名称组成的字符串。您可以使用注释阅读器(例如Doctrine 的)或使用反射并自行解析 doc 块来检查@reloadBase
该方法上是否存在注释。
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消