用茉莉花测试测试ng变化
Testing ng-change with Jasmine test?
我正在使用此指令来延迟调用ng-change函数。我被迫使用 Angular 1.2.4,所以我没有使用去抖动的选项。
我只是需要一些帮助为此编写测试。我想我需要在茉莉花测试中以某种方式触发 ng 变化,但无法弄清楚。这是我到目前为止所拥有的:
describe('ng delay', function() {
var html = '<input type="text" ng-model="model" ng-change="change()" ng-delay="500" />';
beforeEach(inject(function($injector) {
$compile = $injector.get('$compile');
$timeout = $injector.get('$timeout');
$scope = $injector.get('$rootScope').$new();
$scope.model = '';
$scope.change = function() {
console.log('change');
});
}));
it('should have a 500ms delay', function() {
var elm = compileFunction(html, $scope),
input = elm.find('input');
input.trigger('input');
});
});
但是,不会调用更改函数。关于如何测试这一点的任何想法都将是一个真正的帮助。
如果你想
延迟ngChange
我建议另一种更容易测试的解决方案:)
- 在您的模板中,您有
<input ng-change="codeChanged()">
在控制器中添加
变量超时; $scope.codeChanged = function(){ if(timeout){ $timeout.取消(超时); }
timeout = $timeout(function(){ $http({ method: "GET", ... }).success(function(data){ ...}); }, 500); };
相关文章:
- 模糊事件的Javascript测试
- 我的单元测试选项是什么
- 测试索引值是否等于某个数字的倍数
- 单击页面上的链接后高度发生变化
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 测试数组中每个项的内容
- 测试Angular Service解决错误回调中的promise
- 使用Jest测试React Native应用程序
- 为函数代码编写测试
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 如何使用JS/nightwatchjs并行运行多个测试
- 使用量角器的当前url单元测试的getTitle
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- Javascript单元测试依赖关系-当依赖对象发生变化时,如何使测试失败
- 用茉莉花测试测试ng变化
- 在.then()单元测试中AngularJS$作用域变量的变化
- 获取访问者's优化A/B测试和变化
- ReactJS:如何测试状态变化
- 用量角器测试悬停状态的变化