gpt4 book ai didi

perl - 如何使用不断变化的系统时间测试 Perl 应用程序?

转载 作者:行者123 更新时间:2023-11-28 20:01:42 24 4
gpt4 key购买 nike

我有一个 Web 应用程序,我想对其运行一些系统测试,为了做到这一点,我需要移动系统时间。该应用程序一直使用 DateTime。

有没有人对如何更改 DateTime->now 报告的时间有任何建议?唯一想到的是继承 DateTime 并弄乱所有“使用”行,但这似乎相当具有侵入性。

回答注意事项:

所有这三个都可以正常工作,但 Hook::LexWrap 是我选择的那个,因为 (a) 我想移动时钟而不是稍微摇晃它(这更像是 Time::的目的)模拟和 friend 做); (b) 我确实一直使用 DateTime,如果我不小心没有使用它,我很高兴出现错误; (c) Hook::LexWrap 比符号表中的 hack 更优雅,因为它做同样的事情。 (此外,事实证明它是我已经安装的某个模块的依赖项,所以我什至不必对它进行 CPAN...)

最佳答案

与其采用高级方法并专门包装 DateTime,不如查看模块 Test::MockTimeTime::Mock ,它会覆盖 DateTime 等使用的低级函数,并且(运气好的话)将对任何时间敏感的代码做正确的事情。对我来说,这似乎是一种更可靠的测试方式。

关于perl - 如何使用不断变化的系统时间测试 Perl 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com