【发布时间】:2016-06-18 10:16:10
【问题描述】:
我从 Karma 和 Jasmine 开始进行单元测试。我正在进行第一次真正的测试,我想知道我是否做得很好。
我有这个方法调用三个初始化函数。
myApp.initializer.initializeApp = function () {
myApp.initializer.eventDelegation();
myApp.initializer.initializeGlobals();
myApp.scrollManager.initialize();
};
如果我不做测试,Karma-Coverage 告诉我 initializeApp 没有被覆盖,所以我想做一个测试来验证是否一切都正确。需要进行什么样的测试?如果我编写这两个不同的测试,Karma-coverage 告诉我功能现在已被覆盖。
describe ("Initializations suite", function(){
it ("must check if functions are defined before call them", function(){
spyOn(myApp.initializer, "eventDelegation");
myApp.initializer.initializeApp();
expect(myApp.initializer.eventDelegation).toHaveBeenCalled();
});
});
或
describe ("Initializations suite", function(){
it ("must check if functions are defined before call them", function(){
expect(myApp.initializer.initializeApp).not.toThrow();
});
});
这两个测试都使 initializeApp 覆盖,但正如我所说,我不知道测试这个的正确方法是什么。
谢谢。
【问题讨论】:
标签: unit-testing jasmine tdd karma-runner code-coverage