如何在 Karma 中使用参数测试$on事件
How to test $on event with parameters in Karma
我有控制器代码:
$scope.$on('load', function (event) {
$scope.getData();
event.stopPropagation();
});
和测试代码:
it('$on load', function(event) {
var controller=createController();
spyOn(scope, '$on').andCallThrough();// I have also tried to spy scope getData
scope.$broadcast('load');
expect(scope.$on).toHaveBeenCalledwith("load");
});
类型错误:event.stopPropagation 不是函数
如何在单元测试的调用中定义参数?
换
个角度想...
如果你在作用域上触发加载事件,那么你期望 getData 已被调用......
在getData上放置一个间谍,然后你可以期望该函数被调用。
我测试这种方法的方法是将间谍放在$broadcast上。
spyOn($scope, '$broadcast').and.callThrough();
spyOn(event, 'preventDefault').and.callFake(function() {});
然后在描述块中
describe('load event', function() {
it('should call getData method', function() {
$scope.$broadcast('load');
expect($scope.getData).toHaveBeenCalled();
});
});
相关文章:
- 测试mongo脚本中是否存在参数
- JS和three.JS,在浏览器中进行参数测试
- 如何在谷歌电子表格脚本中测试范围参数的类型
- 在JavaScript中测试一个无效参数w/Chai
- 如何在JavaScript中使用Mocha和assert.throws测试参数的值
- 我怎么能读“;.on()"jQuery中的方法参数
- 单元测试输入参数无效的promise
- 在 .on('click') 事件处理程序中传递函数和函数参数
- 当我尝试在 couchbase nodejs 服务器上运行简单的测试时,我收到“不正确的参数”错误
- 如何控制台记录我传递到此测试函数中的每个参数
- Jasmine jQuery 测试,用于检查是否已将正确的参数传递给方法
- 对函数的参数(即函数)进行单元测试
- 如何在 Karma 中使用参数测试$on事件
- jQuery .on() 语法并将多个参数传递给函数
- AngularJS $scope.$watch Jasmine 测试中未定义的回调函数参数
- 如何将jquery对象转移到“On”方法(第二个参数)
- 将运行时参数值发送到jQuery's ON方法
- on-click参数未正确传递
- 使用Nightwatch进行参数化测试(数据驱动测试)
- 测试函数参数的数据类型的正确性