Javascript 为什么我的Vue单元测试无法识别函数?
我目前正在为包含formatDateGlobal函数的组件dateFormat.js编写简单的单元测试(使用Jest)。下面是测试的一个片段:Javascript 为什么我的Vue单元测试无法识别函数?,javascript,unit-testing,vue.js,jestjs,Javascript,Unit Testing,Vue.js,Jestjs,我目前正在为包含formatDateGlobal函数的组件dateFormat.js编写简单的单元测试(使用Jest)。下面是测试的一个片段: import DateFormat from '../dateFormat'; describe('dateFormat.js', () => { let date1; beforeEach(() => { date1 = { date: '', }; }); it('Then it shou
import DateFormat from '../dateFormat';
describe('dateFormat.js', () => {
let date1;
beforeEach(() => {
date1 = {
date: '',
};
});
it('Then it should return an empty string', () => {
// Act
const returnedDate = DateFormat.formatDateGlobal(date1);
// Assert
expect(returnedDate).toBe('');
});
在dateFormat的底部,我导出formatDateGlobal函数,如下所示:
export default formatDateGlobal;
测试是按预期构建的,但我得到了错误
TypeError: _dateFormat.default.formatDateGlobal is not a function
27 | it('Then it should return an empty string', () => {
28 | // Act
> 29 | const returnedDate = DateFormat.formatDateGlobal(date1);
| ^
30 | // Assert
31 | expect(returnedDate).toBe('');
32 | });
不太清楚为什么会发生这种情况,但我认为这与我导出函数的方式有关。您正在将
formatDateGlobal
导入DateFormat
变量。所以你可以用
const returnedDate=DateFormat(date1)代码>
目前,您正试图实现以下目标:
const returnedDate=formatDateGlobal.formatDateGlobal(date1)代码>