使用 moment.js 进行 Jasmine 约会模拟

2024-03-06

我在应用程序中使用 moment.js 来处理日期/时间,但它似乎与 Jasmine 的模拟功能配合得不好。我在下面整理了一个测试套件来显示我的问题:

jasmine.clock().mockDate似乎暂时不起作用,但它可以很好地工作Date.

describe('Jasmine tests', function () {
    beforeEach(function() {
        jasmine.clock().install();
    });

    afterEach(function() {
        jasmine.clock().uninstall();
    });

    // Pass
    it('uses the mocked time with Date', function() {
        var today = new Date('2015-10-19');
        jasmine.clock().mockDate(today);
        expect(new Date().valueOf()).toEqual(today.valueOf());
    });


    // Fail
    it('uses the mocked time with moment', function() {
        var today = moment('2015-10-19');
        jasmine.clock().mockDate(today);

        expect(moment().valueOf()).toEqual(today.valueOf());
    });
});

为什么Date按预期工作,同时moment才不是?不是moment using Date在引擎盖下?

正确的嘲笑方式是什么moment使用茉莉花?


jasmine.clock().mockDate期望Date作为输入。Date and moment不完全兼容。如果您在规范本身中提供要模拟的日期,您可以简单地使用Date那里代替。

如果您的代码生成了您想要模拟的 moment,或者您更愿意使用 moment API,请查看moment.toDate() http://momentjs.com/docs/#/displaying/as-javascript-date/。该方法返回Date对象支持一下。

it('uses the mocked time with moment', function() {
    var today = moment('2015-10-19').toDate();
    jasmine.clock().mockDate(today);
    expect(moment().valueOf()).toEqual(today.valueOf());
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 moment.js 进行 Jasmine 约会模拟 的相关文章

随机推荐

  • 如何获取 Twitter 当前用户的性别

    我已经查看了 Twitter 文档 anywhere 我可以在其中使用用户对象属性 但在用户数据中我找不到性别属性 当您创建 Twitter 帐户时 它从不询问性别 因此您无法通过 API 获取性别 你需要某种人工智能来确定它
  • 将 Fig.legend 与 matplotlib 中的子图结合起来

    免责声明 我知道在这个简单的示例中使用子图是无关紧要的 后者仅用于显示我的问题 我希望能够使用fig legend with fig subfigures1 我目前正在探索新的子图 https matplotlib org stable g
  • Android如何通过复选框识别列表视图中的项目

    我真的被困在这里了 我想要的并不简单 对我来说 但是我已经编写 Android 一年了 我想要的是一个列表视图 每行都有一个图像视图 一个文本视图 一个复选框和另一个文本视图 让我们首先在布局中添加一个文本视图和一个复选框 基于this h
  • 如何包含 Angular 5 的 ag-grid 样式?

    我正在使用 Angular 5 和 ag grid 17 x 我只是尝试做一个简单的 hello world 类型的示例 但无法正确显示网格 我的模板中有以下 HTML div style width 100 height 500px cl
  • WebClient().DownloadString() 返回旧数据[重复]

    这个问题在这里已经有答案了 我正在使用此代码从 URL 获取返回字符串 webClient Encoding Encoding UTF8 response webClient DownloadString http somesite com
  • 如何删除 Grails 生成的 Content-Type 标头中的 charset=utf-8

    我正在尝试将 json 数据作为 grails 中的响应正文发送 我尝试使用以下方法将 Content Type 标头设置为 application json render status httpServletResponse text r
  • 如何在两个设备(android,iphone)之间传输“数据”?

    如何在两个设备之间传输数据 我想在不同平台 android iphone 之间传输数据 主要是图像文件 是否可以使用 p2p 或者我应该使用客户端服务器 任何帮助将不胜感激 你看过吗高通的 AllJoyn 库 https developer
  • 将 ffmpeg 应用于多个文件

    我写了一个简单的脚本 bin bash find name m4a while read filename do new filename echo filename sed s m4a 1flac g if f new filename
  • 为什么在ReactJS中按钮的onClick事件中传递函数引用而不是方法?

    每当我在按钮的 onClick 中传递函数括号时 即使不单击按钮 它也会在页面加载时自动调用 但是 当我不在按钮的 onClick 中传递函数括号时 它仅在单击按钮时调用 在函数调用中传递括号
  • 有人可以解释一下 Git 中使用的内容跟踪和其他 SCM 中使用的文件跟踪之间的区别吗

    我已经使用 Git 一段时间了 喜欢它所提供的功能和工作流程的灵活性 尽早并经常做出承诺的能力对我来说意义重大 而且非常适合我的工作方式 我曾多次听说过 Git 的一个功能 但我还没有弄清楚这一点 那就是它跟踪内容而不是文件历史记录 这应该
  • 返回 WCF 自定义错误异常

    我在从 wcf 服务返回自定义错误异常时遇到了一些问题 与 wcf 服务通信的客户端应用程序收到 合同不匹配错误 这是我在服务中定义的错误契约 public partial class Fault string codeField stri
  • 无法连接到 Raspberry Pi 上的 BLE 设备

    我正在尝试连接到 Raspberry Pi 2 上的 BLE 设备 心率传感器 Polar H7 我使用此处找到的最新版本的 bluez 5 35 http www bluez org download http www bluez org
  • Oracle 11g 支持的 JDBC、JDK 版本

    我们正在将数据库从 oracle 10g 升级到 11g 希望我们现在的JDK1 6能够支持这个 Oracle 11g 的理想 JDBC 版本是什么 目前我们使用的是ojdbc 14 jar 它支持11g吗 请确认我 根据甲骨文常见问题解答
  • 如何在 npm 模块上使用 Web Worker

    我正在编写一个 JavaScript 库 并且正在使用一个网络工作者 我正在使用 webpack 带有worker loader 来创建我的构建 图书馆一切正常 webpack config js test app worker ts in
  • 如何将QT国际化集成到CMake中?

    大家好 我正在尝试将 QT 国际化与 CMake 结合使用 我的 cmake 文件配置如下 Internalization this should generate core jp ts SET rinzo core TRANSLATION
  • 用于在函数上插入值的 cin 命令

    我怎样才能使用cin为函数插入值 cin gt gt addNumber cout lt lt addNumber lt lt endl 我不确定我是否正确使用了上面的这些行 我应该使用什么命令 单词或任何名称才能做到这一点 我正在尝试为变
  • 使用 Visual Studio 构建 UEFI 驱动程序

    我正在寻找有关如何使用 Visual Studio 2012 项目通过 EDK2 SDK 构建 UEFI 驱动程序的建议 我试图静态链接 UefiLib lib 但惨败 我已将该库添加到链接器下的附加依赖项中 include
  • 从 r 中的二高斯混合生成样本(MATLAB 中给出的代码)

    我正在尝试 在 r 中 创建与以下 MATLAB 函数等效的函数 该函数将从 N m1 s1 2 和 N m2 s2 2 与分数的混合物生成 n 个样本 alpha 来自第一个高斯 我有一个开始 但 MATLAB 和 R 之间的结果明显不同
  • Knockout 无法处理绑定

    当文本未定义时如何绑定文本 例如名称不可用 table class table thead tr th class col md 4 ID th th class col md 4 Name th tr thead tbody tr td
  • 使用 moment.js 进行 Jasmine 约会模拟

    我在应用程序中使用 moment js 来处理日期 时间 但它似乎与 Jasmine 的模拟功能配合得不好 我在下面整理了一个测试套件来显示我的问题 jasmine clock mockDate似乎暂时不起作用 但它可以很好地工作Date