Jasmine Testing toEqual是正确的值,但仍然测试失败

Jasmine Testing toEqual is correct value, still failing test

本文关键字:失败 测试 toEqual Testing Jasmine      更新时间:2023-09-26

我正在编写一系列测试来演示'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;
    }
};

这个函数所做的就是返回this对象内部的上下文。

为什么这个测试失败,即使正确的toEqual值被传递给toEqual?

你可以用茉莉花。任何用于比较函数类型的:

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