TypeError:无法读取属性'have'of undefined - karma Jasmine

时间:2015-08-11 16:17:46

标签: angularjs karma-jasmine

我尝试测试角度服务,这是我的代码

angular.module('testApp', []).factory('Person', function () {
    return function Person (name) {
        this.name = name;
    };
});

测试用例:

describe('Person', function () {

    var Person;
    beforeEach(module('testApp'));
    beforeEach(inject(function (_Person_) {
        Person = _Person_;
    }));

    describe('Constructor', function () {

        it('assigns a name', function () {
            expect(new Person('Ben')).to.have.property('name', 'Ben');
        });
    });
});

我收到此错误:TypeError:无法在Object处读取未定义的属性'have'。

1 个答案:

答案 0 :(得分:1)

to.have.propertyChai断言

我没有使用此功能,但add the toHaveProperty matcher to Jasmine有一个库。

否则你可以在Jasmine中使用它:

expect((new Person('Ben')).name).toEqual('Ben');