时间的全局存根。Now()
在测试中,控制代码的时间相关方面变得至关重要。然而,由于在多个代码段中广泛使用,全局删除 time.Now() 可能具有挑战性。
建议方法:自定义时间接口
当前的实现使用自定义界面是一个有效的解决方案。以下是该方法的摘要:
替代方案
强烈建议不要在测试期间更改系统时钟,因为它可能会导致不可预见的依赖关系。
限制
存根time.Now() 在全球范围内都有其局限性。例如,如果被测代码使用依赖系统时间的第三方库,则可能无法覆盖其行为。
无状态代码的好处
设计具有尽可能少的有状态的代码可以简化测试并促进并发性。通过将功能分离为可测试的无状态组件,可以更轻松地在测试期间控制时间敏感的方面。
以上是如何有效地全局存根'time.Now()”进行测试?的详细内容。更多信息请关注PHP中文网其他相关文章!