小编Fil*_*lip的帖子

Symfony测试-ClockMock / DateTime

我在为基于JSON API的应用程序创建复杂测试时寻求帮助。

简短的问题场景:

  • 测试创建临时实体(供比较)
  • EntityManagerMock设置为等待persist($ temporaryEntity)
  • 使用某些参数测试调用真实方法
  • 方法创建实体并尝试保存在模拟的EM
  • 测试失败,因为时间更改了1秒

在此处输入图片说明

我们尝试使用ClockMock,但它仅适用于名为/用于命名空间的类。我们的方法在其他名称空间,实体在下一个创建。

我们正在寻找一种解决方案,该方法如何临时重写PHP平台\ DateTime类-或一种技术,如何对项目中的所有名称空间/类使用ClockMock(但仅用于测试)。我们试图修改基于Symfony的ClockMock-但找不到好方法:-/。

有什么办法吗?(我不想使用类似get_declared_class()之类的东西,并用它调用clockMock :: register-因为它对于大约15.000个测试:-/非常缓慢。

谢谢大家!

php phpunit unit-testing mocking symfony

5
推荐指数
1
解决办法
1121
查看次数

标签 统计

mocking ×1

php ×1

phpunit ×1

symfony ×1

unit-testing ×1