预期未定义为节点模块的对象

时间:2016-05-12 06:55:13

标签: javascript node.js ecmascript-6 mocha

我到底做错了什么。不是JS中的对象函数吗?

car.js

'use strict';


var Car = function(){

};

export default Car;

轿厢test.js

import {expect} from 'chai';
import {Car} from '../../src/car';

describe('car', () => {

    it('should have a car to work with', () => {
        expect(Car).to.be.an('object');
    });

});

更新

我甚至可以把var留下来,不确定这是否有所不同,var仍然指向相同的东西,但我也可以这样做:

function Car(){

};

export default Car;

1 个答案:

答案 0 :(得分:3)

a/an测试该项的typeof值。是的,函数是对象,但typeof"function"

这是typeof为对象提供更多详细信息而不仅仅是"object"的唯一地方(事实上,我想不出另一个; typeof new Date"object"typeof正则表达式对象为"object",等等。 typeof相当含糊,但在这种情况下是具体的。 :-) FWIW,我在贫穷的小博客上覆盖了类型检查:Say what?