我是茉莉花的新手,在嘲笑这些功能的同时被困在少数几个地方。
如何模拟角度全局函数,例如angular.forEach()
,angular.isDefined()
,angular.isUndefined()
。
答案 0 :(得分:1)
我通常不会模仿这些函数,因为它们非常简单 - 我认为模仿它们比实际使用它们更难。例如,对于angular.forEach
,传入一个数组并让它循环遍历它。对于angular.isDefined
,请尝试不同的测试用例,有时会传递已定义的内容,有时会传递不适用的内容。
答案 1 :(得分:0)
您测试函数是否被调用的方式是使用茉莉花间谍。它在茉莉花的版本之间有所不同,但通常看起来像:
it("check if a function was called", function(){
spyOn(angular, "forEach")
yourFunction();
expect(angular.forEach).toHaveBeenCalled();
});
话虽如此,你通常不应该监视框架/库全局函数作为一般规则,因为fhey在内部和外部使用。