2016-11-18 1 views
0

나는 재스민을 배우고있다. 다음 코드를 테스트하려고합니다.재스민에서 함수 식을 테스트하는 방법

jasmine에서 personModule 객체를 어떻게 만들고 사용하고 테스트 할 수 있는지 잘 모릅니다. 어떤 도움이라도 좋을 것입니다.

window.onload = function() { 
 
    var module = personModule; 
 
    module.init(); 
 
} 
 

 
var personModule = (function (module) { 
 
    module.getName = function() { 
 
     alert("my name" + "is Xyz"); 
 
    } 
 

 
    module.init = function() { 
 
     alert("in init"); 
 
    } 
 
    return module; 
 
})(personModule||{});

은 누군가가 코드에서 재스민 특정 거기에 아무것도이

감사

답변

1
내가 생각하지 말아

에 저를 도와주세요 수 있습니다. 그것의 JS에서 정규 함수.

또한 함수 내에 경고 만 있기 때문에 테스트 할 방법이 없습니다.

아마도 getName이 무언가를 반환하는지 테스트하고 싶을 것입니다. like

getName: function(){ 
    return "some name"; 
} 

당신은 주장하고 테스트 할 수 있습니다. 코드에서

assert(getName()).toBe("some name"); 

난 당신이 personModule과 함께 인생을 사용하기위한 필요성을 해달라고 || {}

아래와 같이 코드를 리펙토링하여 테스트 가능한 모듈로 만들 수 있습니다.

window.onload = function() { 
 
    personModule.init(); 
 
} 
 

 
var personModule = (function() { 
 
    var module = {}; 
 
    module.getName = function() { 
 
    return "my name is Xyz"; 
 
    } 
 

 
    module.init = function() { 
 
    alert("in init"); 
 
    return true; 
 
    } 
 
    return module; 
 
})();

아래로 자스민 테스트를 가질 수있다.

describe("Test Person Module", function() { 
    it("Name to return default value", function() { 
    expect(personModule.getName()).toBe("my name is Xyz"); 
    }); 

    it("Init to be Succesful", function() { 
    expect(personModule.init()).toBe(true); 
    }); 
}); 
관련 문제