[AngularJS + Unit Testing] Testing a component with requiring ngModel
2024-09-04 17:06:35
The component test:
describe('The component test', () => {
let component, $componentController, $controller, $injector, $scope; beforeEach(module("componennts.module"));
beforeEach(inject((_$componentController_, _$controller_, _$injector_, _$rootScope_) => {
$componentController = _$componentController_;
$controller = _$controller_;
$injector = _$injector_;
$scope = _$rootScope_.$new();
})); describe('Controller', () => {
it('should have ng-model with the correct binding', () => {
let locals = {
$scope: $scope,
$element: angular.element('<my-component ng-model="value"></my-component>'),
$attrs: { ngModel: 'value' }
};
locals.$scope.value = [];
let ngModelController = $injector.get('ngModelDirective')[].controller;
let ngModelInstance = $controller(ngModelController, locals);
$scope.$digest();
component = $componentController('myComponent', null, { ngModel: ngModelInstance });
component.$onInit();
expect(component).toBeDefined();
expect(component._selectedValues).toEqual([]); // _selectedValues = ngModel.$viewValue
});
});
});
最新文章
- 搭建LNAMP环境(四)- 源码安装PHP7
- Spring+SpringMVC+Mybatis 多数据源整合(转)
- 【python cookbook】【数据结构与算法】4.找到最大或最小的N个元素
- 单链表操作B 分类: 链表 2015-06-07 12:42 15人阅读 评论(0) 收藏
- leetcode 141. Linked List Cycle ----- java
- Laravel 5 基础(十二)- 认证
- 过程式编程 drawShapes
- 禁用ios7 手势滑动返回功能
- Fedora安装theano
- myql_链接丢失异常_mybaits _等框架_报错_The last packet successfully
- 团队作业9——Beta版本展示博客
- JavaWeb(二)会话管理之细说cookie与session
- java日期转化
- GUI and Usability Test Scenarios
- monitor
- Notes for Apue &mdash;&mdash; chapter 4 Files and Directories(文件和目录)
- BZOJ3895 取石子
- IDF实验室—不难不易的js加密
- centos7上的postgresql10安装和配置
- 树莓派GPIO控制RGB彩色LED灯