如何对directive进行单元测试?
来源:互联网 发布:显示器色彩测试软件 编辑:程序博客网 时间:2024/05/16 04:50
AngularJS directive是自定义的HTML扩展,它必须与DOM元素绑定,那我们是不是就不能对directive代码做单元测试了呢?AngularJS的系统架构优势使得对directive做单元测试成为可能。其秘密就在$compile编译服务,$compile可以把模版和scope结合生成element。在单元测试里,通过$rootScope 和带有directive 的模版生成element,我们便可以断言生成的element是否满足我们的期望,并且可以通过改变$rootScope的model值, 来断言element的各个属性是否也如我们期望一样变化。下面的例子,是AngularJS自己对ng-disabled 的单元测试代码:
element = $compile('')($rootScope) //创建
$rootScope.isDisabled = false; //设置model值
$rootScope.$digest(); //使之生效
expect(element.attr('disabled')).toBeFalsy(); // 断言
$rootScope.isDisabled = true;//改变model值 $rootScope.$digest();//使之生效 expect(element.attr('disabled')).toBeTruthy();// 断言 }));
是不是很简单?
it('should bind disabled', inject(function($rootScope, $compile) {
是不是很简单?
- 如何对directive进行单元测试?
- 如何对 EJB 进行单元测试
- 如何对界面进行单元测试
- 如何对Andrioid进行单元测试
- 如何对数据源层进行单元测试
- 安卓中如何对应用进行单元测试
- android如何对应用进行单元测试
- 对 Groovy 进行单元测试
- 对应用进行单元测试
- 对应用进行单元测试
- 对应用进行单元测试
- 对android进行单元测试
- 对应用进行单元测试
- 对应用进行单元测试
- 如何对类中的protected方法进行单元测试
- Android开发系列(四):如何对应用进行单元测试
- 如何对scanf("%d",&a)进行单元测试
- 如何进行单元测试
- 线程的取消/撤销(cancel)【】
- 传话游戏
- html页面元素onclick 和 jquery绑定click执行顺序
- 遇到的问题-在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
- 数据结构学习笔记(二)各种排序
- 如何对directive进行单元测试?
- Action 动作
- sql查找表中列的属性
- UTMS 信令培训(1)
- js null,'0','unfined'
- CSS选择器
- 一天一linux命令(15) history 历史命令
- hive表乱码问题
- cocos2d-x 颜色混合