2016-11-18 7 views
0

私はジャスミンを学んでいます。次のコードをテストしようとしています。ジャスミンで関数式をテストする方法

ジャスミンで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); 
    }); 
}); 
関連する問題