javascript expect.toBe 具有多个值

Posted

技术标签:

【中文标题】javascript expect.toBe 具有多个值【英文标题】:javascript expect.toBe with multiple values 【发布时间】:2015-06-04 10:10:27 【问题描述】:

我遇到了与夏令时有关的问题。我有 javascript jasmine 测试,我测试开放时间是否正确。开放时间以 GMT 时间存储,因为它们是从后端 api 获取的。问题是,不能用 expect.toBe(certain_hour) 测试正确的开放时间,因为现在夏令时结束时,开放时间将不一样。无论如何,尝试将开放时间存储在 GMT 时间可能是愚蠢的,因为那时实际的开放时间会发生变化。但是,我怎么能用多个值测试 expect.toBe 呢?目前,我可以测试 expect.toBe(hour_one || hour_two),但不支持?

【问题讨论】:

【参考方案1】:

测试代码还是javascript,所以当你写这样的:

expect.toBe(hour_one || hour_two)

它将hour_one || hour_two 评估为逻辑表达式。在 javascript 中,当计算 a || b 形式的表达式时,将返回两者的第一个非假值,因此 0 || 5 将返回 5,但 2||5 将返回 2。 然后这个评估结果,作为单个参数,被传递给toBe() 函数。

【讨论】:

不起作用 =/。它只接受第一个参数,并将其传递给 toBe 函数。【参考方案2】:

与Jasmine expect(resultCode).toBe(200 or 409)类似的问题

我们可以像这样使用expect().toContain():

expect([200,409]).toContain(resultCode);

或不包含:

expect([200,409]).not.toContain(resultCode);

【讨论】:

以上是关于javascript expect.toBe 具有多个值的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 具有实例创建参数的Javascript类

JavaScript:具有 SRC 属性的内联脚本?

如何检查对象是不是在 JavaScript 中具有特定属性?

具有相同参数的 Javascript 函数声明

JavaScript 通过具有相同类的播放按钮播放具有相同类控制的视频

javascript 具有报告列链接的Javascript SET页面项目(自定义DA)