Angularjs Jasmine测角测试用例

Angularjs Jasmine测角测试用例,angularjs,jasmine,karma-jasmine,jasmine-jquery,Angularjs,Jasmine,Karma Jasmine,Jasmine Jquery,我是jasmine的新手,在模仿功能的时候,我被困在了一些地方。 如何模拟角度全局函数,例如angular.forEach(),angular.isDefined(),angular.isUndefined(),我通常不会模拟这些函数,因为它们非常简单-我认为模拟它们比实际使用它们更难。例如,对于angular.forEach,传入一个数组并让它循环通过。对于angular.isDefined,请尝试不同的测试用例,有时传入已定义的内容,有时传入未定义的内容。测试函数是否已被调用的方法是使用ja

我是jasmine的新手,在模仿功能的时候,我被困在了一些地方。
如何模拟角度全局函数,例如
angular.forEach()
angular.isDefined()
angular.isUndefined()
,我通常不会模拟这些函数,因为它们非常简单-我认为模拟它们比实际使用它们更难。例如,对于
angular.forEach
,传入一个数组并让它循环通过。对于angular.isDefined,请尝试不同的测试用例,有时传入已定义的内容,有时传入未定义的内容。

测试函数是否已被调用的方法是使用jasmine spy。茉莉花的不同版本有所不同,但通常看起来:

 it("check if a function was called", function(){
    spyOn(angular, "forEach")

    yourFunction();
    expect(angular.forEach).toHaveBeenCalled();
 });
也就是说,一般来说,您不应该监视框架/库全局函数,因为它们可以在内部和外部使用