3

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

4

2 回答 2

2

您是否尝试过在 beforeEach 函数中创建控制器?这样,您的控制器将为每个测试重新创建。

beforeEach(inject(function ($rootScope, $controller, $location) {
    root = $rootScope;
    scope = $rootScope.$new();
    location = $location;
    controller = $controller('AccountInfoController', { $scope: scope, $location:$location, customer: customer });
}));
于 2013-03-18T16:55:13.247 回答
-1

如果您想要清除模块,请尝试此代码

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

于 2014-06-07T02:56:43.027 回答