gpt4 book ai didi

javascript - 如何模拟 Later.JS 的时间

转载 作者:行者123 更新时间:2023-12-02 23:08:51 49 4
gpt4 key购买 nike

我使用 Later.JS 在每个月的第一天进行自动函数调用。为了进行测试,我需要模拟时间来检查 Later.JS 和我的代码是否执行正确的操作。有人可以帮助我如何 mock 过去的时光吗?

谢谢

最佳答案

您使用什么库进行单元测试?我喜欢Jest,因为它非常直观。它具有记录的函数mock here .

jest.mock(path, moduleFactory) takes a module factory argument. A module factory is a function that returns the mock.

及用法:

jest.mock('laterJS', () => () => ({格式: () => '2018–01–30T12:34:56+00:00'}));

还检查jest.spyOn记录here .

最后但并非最不重要的一点是,有sinonJS及其 stub ,这是一个很棒的工具,用于模拟函数和库以及使用您自己的函数实现来进行测试目的,例如返回硬-编码时间戳。 Here it is .

编辑:编辑问题后我明白了OP想要实现的目标

好吧,由于不清楚的问题,我认为您对测试代码感兴趣,现在我知道您想测试两者:laterJS 时间表和您的代码。

基本上,所有克隆/调度程序都是为了每隔一段时间运行代码/任务而创建的。在幕后,调度程序以非常简单的方式始终检查是否满足任何调度条件。如果是的话 - 做点什么。为了实现它,你有模拟时钟让laterJS认为这是运行他的工作的时间。

我没有使用laterJS的经验,我有一些使用node-cron的经验,但想法是完全相同的。 Check some of their test suites认识到哪种方法是正确的。

关于javascript - 如何模拟 Later.JS 的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460944/

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