我有一个方法叫做$scope.openGroupInbox()哪个$scope.init()和其他东西.我想测试是否$scope.init()已被调用.所以我这样做:
it('call init', function () {
$scope.openGroupInbox(3);
expect($scope.init(3)).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
在.toHaveBeenCalled()测试中调用函数之前.您需要注册一个间谍,以跟踪对该$scope.init()功能的调用.
你可以在beforeEach下面这样做.
beforeEach(function() {
spyOn($scope, 'init');
});
Run Code Online (Sandbox Code Playgroud)
然后,当您的测试运行时,您应该正确地获知该$scope.init()功能是否已成功调用.
您还需要将您更改expect为:
expect($scope.init).toHaveBeenCalled();
Run Code Online (Sandbox Code Playgroud)
要么
expect($scope.init).toHaveBeenCalledWith(3);
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |