努力让 DayJs 可用于赛普拉斯的所有测试
Struggling to have DayJs available for all tests in cypress
我目前正在启动一个新的 Cypress 项目,要测试的应用程序非常“以日历为中心”,我将不得不经常使用日期。
我的问题是,如果不在每个规范文件中导入 DayJs,我就无法将其用于整个项目。
例如,在 test.spec.ts 中,这是有效的
import dayjs = require('dayjs');
describe('Some suite', () => {
it('Some Test', () => {
// some stuff
const myDate = dayjs('11-11-2022', 'dd-MM-YYYY' );
// other stuff
})
})
但是当我在 support/index.ts
中执行此操作时
import dayjs = require('dayjs')
declare namespace Cypress {
interface Cypress {
dayjs: dayjs.Dayjs;
}
}
然后这个在我的规范中
describe('Some suite', () => {
it('Some Test', () => {
// some stuff
const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY' );
// other stuff
})
})
它说
Cypress.dayjs is not a function
知道如何完成这项工作吗?
感谢帮助
在/cypress/support/index.ts
中,将dayjs添加到全局Cypress中(就像以前包含momentjs一样)。
/cypress/support/index.ts
const dayjs = require('dayjs')
declare namespace Cypress {
interface Cypress {
dayjs: dayjs.Dayjs;
}
}
Cypress.dayjs = dayjs
现在 const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY')
应该可以了。
我目前正在启动一个新的 Cypress 项目,要测试的应用程序非常“以日历为中心”,我将不得不经常使用日期。
我的问题是,如果不在每个规范文件中导入 DayJs,我就无法将其用于整个项目。
例如,在 test.spec.ts 中,这是有效的
import dayjs = require('dayjs');
describe('Some suite', () => {
it('Some Test', () => {
// some stuff
const myDate = dayjs('11-11-2022', 'dd-MM-YYYY' );
// other stuff
})
})
但是当我在 support/index.ts
中执行此操作时import dayjs = require('dayjs')
declare namespace Cypress {
interface Cypress {
dayjs: dayjs.Dayjs;
}
}
然后这个在我的规范中
describe('Some suite', () => {
it('Some Test', () => {
// some stuff
const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY' );
// other stuff
})
})
它说
Cypress.dayjs is not a function
知道如何完成这项工作吗? 感谢帮助
在/cypress/support/index.ts
中,将dayjs添加到全局Cypress中(就像以前包含momentjs一样)。
/cypress/support/index.ts
const dayjs = require('dayjs')
declare namespace Cypress {
interface Cypress {
dayjs: dayjs.Dayjs;
}
}
Cypress.dayjs = dayjs
现在 const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY')
应该可以了。