重新排列@dataProvider和数据库设置的顺序
因此,Zend 的 phpunit 数据库框架允许预加载带有表的数据库。但是,这阻止我将 @dataProvider 与数据库一起使用,因为 @dataProvider 似乎在 zend 重新加载数据库之前执行。这会导致数据库表不同步。
有没有办法可以重新安排这个过程,以便 zend 重新加载数据库,然后调用 @dataProvider?
So, Zend's phpunit database framework allows preloading a database with tables. However, this stops me from using @dataProvider with the database because it appears that @dataProvider gets executed before zend reloads the database. This causes the database tables to be out of sync.
Is there a way I can rearrange this procedure so that zend reloads the database, then @dataProvider gets called?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Zend 何时加载您的数据库?如果您专门从
setUp()
调用它,则可以将调用移至数据提供程序方法。这并不理想,但 PHPUnit 调用数据提供者的方式是其架构的核心。塞巴斯蒂安计划在某个时候重新处理这个问题,但我不知道它在优先级列表中的排名有多高。编辑:Sebastian 创建了一个票证,讨论基于
@depends
的重新排序测试 - 在调用数据提供程序时不进行更改。对于造成的混乱,我深表歉意。When does Zend load your database? If you call it specifically from
setUp()
you could move the call to the data provider method. It's not ideal, but the way that PHPUnit calls the data providers is pretty core to its architecture. Sebastian is planning to rework this as some point, but I don't know how high it is on the priority list.Edit: Sebastian created a ticket that discusses reordering tests based on
@depends
--not changing when data providers are called. My apologies for the confusion.