[AngularJS + Unit Testing] Testing Directive's controller with bindToController, controllerAs and isolate scope
2024-08-25 09:36:20
<div>
<h2>{{vm.userInfo.number}} - {{vm.userInfo.name}}</h2>
</div>
'use strict'; class CardTitleInformCtrl { constructor() { }
} function CardTitleInformDirective() {
return {
restrict: 'EA',
scope: {},
bindToController: {
userInfo: '='
},
replace: true,
template: require('./card-title-inform.html'),
controller: CardTitleInformCtrl,
controllerAs: 'vm'
};
} export default (ngModule) => {
ngModule.directive('comCardTitleInform', CardTitleInformDirective);
};
Test:
export default (ngModule) => {
describe('card title inform test', () => { var $scope, $compile, html, directiveName, directiveElm, controller;
html = '<com-card-title-inform userInfo="userInfo"></com-card-title-inform>',
directiveName = 'comCardTitleInform'; beforeEach(window.module(ngModule.name));
beforeEach(inject(function(_$compile_, _$rootScope_){
$scope = _$rootScope_.$new();
$compile = _$compile_; directiveElm = $compile(angular.element(html))($scope);
controller = directiveElm.controller(directiveName);
$scope.$digest();
})); it('should has an h2 element with text 888-888-888 - Wan', function () { // Assign the data to the controller -- Because we use bindToController
controller.userInfo = {
name: "Wan",
number: "888-888-888"
};
// ControllerAs as 'vm', assign controller to the $scope.vm
$scope.vm = controller;
// Make it work
$scope.$digest(); expect(directiveElm.find('h2').text()).toEqual(controller.userInfo.number + ' - ' +controller.userInfo.name);
});
});
};
最新文章
- php代码基础
- Linux上进行单片机开发
- 百度app测试服务
- Netty学习五:Buffers
- php mysql_num_rows() 与 mysql_affected_rows()
- acdream.Bet(数学推导)
- 小甲鱼PE详解之输入表(导出表)详解(PE详解09)
- Qt之窗口动画(下坠、抖动、透明度)
- Win2008远程多用户登陆的配置方法 另附详细设置: Windows server 2008 R2实现多用户远程连接
- BIOS启动项中的设备都有哪些
- ibatis mysql replace into 返回ID
- 详细的OS X Yosemite 10.10懒人版安装教程
- bootstrap弹出框
- maven问题:org.springframewor.web.filter.CharacterEncodingFileter不能强转为javax.servlet.Filter
- tomcat catalina.out乱码
- IIS配置支持跨域请求
- Android中使用databinding编译时出现的error:Execution failed for task &#39;:app:dataBindingProcessLayoutsDebug&#39;
- SpringBoot 中使用 @Value 为 static 变量赋值
- 【前端积累】Awesome初识
- 400 bad Request: JackSon将json串转成List<;Object>;,异常com.fasterxml.jackson.databind.JsonMappingException
热门文章
- ThinkPHP URL模式和URL重写
- Objective-C的反射
- php版的求表达式的真值表-TrueValueTable
- 【HDU3530】 [Sdoi2014]数数 (AC自动机+数位DP)
- SlimFTPd, LFTP和FileZilla Client/Server
- 集成activiti-modeler 到 自己的业务系统
- linux下mysql的安装
- Android开源项目发现--- 工具类数据库ORM篇(持续更新)
- 【HDOJ】1930 And Now, a Remainder from Our Sponsor
- Candies(差分约束)