Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的Vue单元测试无法识别函数?_Javascript_Unit Testing_Vue.js_Jestjs - Fatal编程技术网

Javascript 为什么我的Vue单元测试无法识别函数?

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

我目前正在为包含formatDateGlobal函数的组件dateFormat.js编写简单的单元测试(使用Jest)。下面是测试的一个片段:

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)