新在Symfoob娱乐下载ny 6.2:时钟组件
2022年11月4日·发表的哈维尔Eguiluz
ob娱乐下载Symfony 6.2是支持通过Les-Tilleuls.coop。Les-Tilleuls.coop是a team of 70+ Symfony experts who can help you design, develop and fix your projects. We provide a wide range of professional services including development, consulting, coaching, training and audits. We also are highly skilled in JS, Go and DevOps. We are a worker cooperative!
提供的
尼古拉斯Grekas
在# 46715。
测试时间相关函数和产生瞬态测试错误是困难的。这就是为什么我们介绍时钟模拟测试在Syob娱乐下载mfony 2.8中,超过六年前。在Syob娱乐下载mfony 6.2我们扩大这些努力的介绍称为时钟的新组件。
这个新组件将提高对时间敏感的代码的可测试性。的PHP-FIG集团在正在进行类似的建议呢PSR-20,所以我们设计了Symfony时钟ob娱乐下载组件来缓解兼容性。
首先,该组件定义了以下ClockInterface
:
1 2 3 4 5 6 7 8 9 10 11 12 13
名称空间ob娱乐下载\组件\时钟;接口ClockInterface{/ /返回当前日期时间(设计兼容PSR-20)公共函数现在():\DateTimeImmutable;/ /时钟的进步提供的秒数公共函数睡眠(浮点| int美元秒):无效;/ /改变现在()返回的时区公共函数withTimeZone| (\ DateTimeZone时区的字符串美元时区):静态;}
除了接口,组件提供了三个具体的实现:
NativeClock
使用系统时钟,所以它返回真正的当前时间,实际它睡觉的秒数,等;MockClock
,适合测试,它总是返回相同的datetime(传递给它的构造函数),它立即进展时间,没有打电话来是真实的睡眠()
PHP函数;MonotonicClock
适合性能,它使用PHP提供的单调时钟通过hrtime ()
功能和它睡的实际的秒数)。
与此相关,在Symfony 6.2我们也ob娱乐下载改善了现有的ClockMock
PHPUnit)桥组件的类。在# 47295,基督教弗洛特曼添加支持嘲笑hrtime ()
函数。
发表在#生活在边缘
评论
马丁·本斯
说在11月4日,2022年在十四16
# 1
我已经等待释放。我在图书馆包括beta版本,它有助于改善时间逻辑的可测试性。