当前位置: 代码迷 >> JavaScript >> 测试此功能时出错
  详细解决方案

测试此功能时出错

热度:71   发布时间:2023-06-06 08:57:01.0

我想用茉莉花为此功能编写一个单元测试:

getState: function () {
    var $selectState = this.$('#selectState:visible');
    if ($selectState) {
        return $selectState.val();
    }
    return null;
},

我写了这个测试:

describe("function getType", function(){
    it("should return value", function() {
        var obj = {val: function(){return 'ok';}};
        var spy1 = jasmine.createSpy("spy1").and.callFake(
            function() {
                return obj;
            }
        );
        var dollar = $;
        $ = spy1;
        expect(view.getType()).toEqual('ok');
        $ = dollar;
    });
});

在我看来,它应该起作用,但是没有作用。 这是错误消息:

预期的undefined等于“ ok”。

有人知道可能是什么问题吗?

我解决了问题。 this.$似乎是从不同$ ,从而改变这样的测试功能解决了这个问题:

describe("function getState", function(){
    it("should return value", function() {
        var obj = {val: function(){return 'ok';}};
        var spy1 = jasmine.createSpy("spy1").and.returnValue(obj);
        var dollar = view.$;
        view.$ = spy1;
        expect(view.getState()).toEqual('ok');
        view.$ = dollar;
    });
});
  相关解决方案