- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图模拟 dayjs() 具有特定日期和时间的默认函数,并且还希望模拟其嵌套方法,即 UTC() & . 添加()
这是我迄今为止尝试过的:
abc.ts:
getEarliestDate() {
const {
minHour,
maxHour
} = operatingHours;
const earliestDateTime = dayjs().add(sla + 1, 'minute');
const earliestDateTimeUTC = earliestDateTime.utc();
return dayjs().add(121, 'minute').format('YYYY-MM-DD HH:mm');
}
abc.test.ts:
import { abc } from '../../src/common/serviceFactory';
import dayjs from 'dayjs';
jest.mock('dayjs', () =>
jest.fn((...args) => jest.requireActual('dayjs')(args.filter((arg) => arg).length > 0 ? args : '2020-08-12')),
);
jest.mock('dayjs', () => ({
default: jest.requireActual('dayjs')(`2020-08-18 12:00:00`),
extend: jest.fn(),
utc: jest.fn((...args) => {
const dayjs = jest.requireActual('dayjs');
dayjs.extend(jest.requireActual('dayjs/plugin/utc'));
return dayjs.utc(args.filter((arg) => arg).length > 0 ? args : '12:00:00').startOf('day');
}),
add: jest.requireActual('dayjs')(`2020-08-18 12:00:00`),
}));
describe('getEarliestDate Function', () => {
it('should return earliest date response', () => {
const earliestDate = abc.getEarliestDate();
expect(earliestDate).toMatch(dayjs().add(121, 'minute').format('YYYY-MM-DD HH:mm'));
});
但是得到这个:
TypeError: dayjs_1.default is not a function
任何帮助/建议表示赞赏。
最佳答案
对于 dayjs 的基本操作,此代码有效:
jest.mock('dayjs', () => jest.fn((...args) => jest.requireActual('dayjs')(args.filter((arg) => arg).length > 0 ? args : '2020-08-12')),);
当“2020-08-12”是您要模拟的日期时。
关于javascript - 模拟 DayJs 默认函数及其链式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63470910/
DayJs 如果重要的话,在浏览器上使用它(firefox + Vue + typescript)。 这是我的日期字符串 2021-02-05 12:00 AM 它对我的代码中的 AM/PM 大惊小怪
问题 调用dayjs()结果是一个正确的日期,除了它关闭了两个小时。出于某种原因,dayjs()当我的实际时区是 GMT+2 时,似乎设置为错误的时区 (GMT)。 预期的 Mon, 09 Aug 2
我正在尝试将日期从本地时间(台北 UTC+8)转换为洛杉矶(UTC-7) 但是 dayjs 转换似乎完全关闭: dayjs("2020-09-21 20:30").tz("Asia/Taipei")
我正在试验 dayjs .按照文档中的示例,我在我的 HTML 脚本中进行了设置: 在我的 JS 代码中,我有以下几行: var locale = dayjs.locale('en-gb'); v
我想创建一个自定义区域设置并将其与DayJs一起使用。 docs 中提到了该过程 但是,当我按照该过程并创建自己的区域设置时,我无法格式化之后的日期。 这是用于检查相同内容的JSFiddle。 htt
我正在尝试将日期转换为可读格式。 例如: var dayjs = require('dayjs') const date = '1989-08-12T01:00:00.000Z' console.lo
我试图模拟 dayjs() 具有特定日期和时间的默认函数,并且还希望模拟其嵌套方法,即 UTC() & . 添加() 这是我迄今为止尝试过的: abc.ts: getEarliestDate() {
我正在努力从 momentjs 迁移到 dayjs 如何使用 dayjs 将自定义日期格式格式化为标准日期格式。例如,我正在尝试将 YYYY-MM-DD+h:mm 格式的日期格式化为 YYYY-MM-
我有以下代码 import dayjs from 'dayjs' const abc = dayjs("09:00:00") console.log(abc) 控制台中的 abc 是 我怎样才能使它成
我是测试驱动开发的新手,我正在尝试实现我的简单测试,但开 Jest 总是找到我的 dayjs因为不是函数。我也没有使用 typecrcipt,所以我的问题类似于 this . 我似乎找不到如何设置我的
我正在使用插件 isToday() 来扩展 dayjs() 的功能,但我不知道'知道如何导出 isToday() 以便我可以在其他文件中使用它。 import isToday from "dayjs/
在我的 Angular 应用程序中,我需要从 momentjs 进行交换至dayjs . 因为我用的是material我必须更换 moment-date-adapter使用 dayjs-date-ad
我尝试使用 dayjs 验证生日,但其 isValid 对于不存在的日期返回 true。有趣的是,moment 的 isValid 工作得很好。 dayjs('2019/02/31', 'YYYY/M
import dayjs from "dayjs"; import customParseFormat from "dayjs/plugin/customParseFormat"; dayjs.ext
如果您尝试使用 Vite 将 dayjs 导入到 Vue/React 应用程序中,您会发现它失败。 Vite 仅适用于 ESM 模块。 最佳答案 我发现你需要直接导入esm模块,然后它才能在Vite
我想将 2 个持续时间加在一起,例如: 00:04:00 + 07:23:00 = 07:27:00 var std_count = "00:06:00"; var std_creat
我是一名优秀的程序员,十分优秀!