在单元测试中清除Angular模块

时间:2013-03-18 14:22:16

标签: unit-testing angularjs

我正在为我的AngularJS控制器进行一些多用户测试,因为我的用户有不同的角色和设置。第一个总是很好用,但随后的尝试永远不会发出HTTP模拟请求的尝试,因为控制器是单例。有没有办法让我清除所有现有的控制器,甚至整个Angular模块设置并重新启动它以便我可以执行这些类型的测试?

2 个答案:

答案 0 :(得分:2)

您是否尝试过在beforeEach功能中创建控制器?这样,您的控制器将在每次测试时重新创建。

beforeEach(inject(function ($rootScope, $controller, $location) {
    root = $rootScope;
    scope = $rootScope.$new();
    location = $location;
    controller = $controller('AccountInfoController', { $scope: scope, $location:$location, customer: customer });
}));

答案 1 :(得分:-1)

如果您想要清除模块

,请尝试此代码

angular.module('app',[]);