Jasmine Testing toEqual是正确的值,仍然没有通过测试

时间:2014-06-09 17:44:36

标签: javascript jasmine

我正在编写一系列测试来证明'this'在不同背景下的价值。

这是我目前的测试套件:

describe("this keyword", function(){
    it('returns the global context of this', function(){
        expect(globalThis()).toEqual(window);
    });
    it('returns the method context of this', function(){
        expect(methodThis.showThis()).toEqual({ showThis : Function });
    });

});

我的第二个测试不会传递此代码,即使它是确切的值:

var methodThis = {
    showThis: function(){
        return this;
    }
};

所有这个函数正在返回对象内部的上下文。

为什么即使将正确的toEqual值传递给toEqual?

,此测试也会失败

1 个答案:

答案 0 :(得分:1)

您可以使用jasmine.any来比较功能类型:

describe("this keyword", function(){
    it('returns the method context of this', function(){
        expect(methodThis.showThis()).toEqual({ showThis : jasmine.any(Function) });
    });

});