作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我熟悉使用 $controller 构造函数模拟 $scope 和 Controller 的概念
var scope = rootScope.$new();
it('should contain a testVar value at "test var home"', function(){
homeCtrl = $controller('homeCtrl', {
$scope: homeScope,
$rootScope: rootScope
})
expect(homeScope.testVar).toBe('test var home');
})
//mock coding
var scope = rootScope.$new();
it('should contain a testVar value at "test var home"', function(){
homeDir = $directive('homeCtrl', {
$scope: homeScope,
$elem: angular.element('<div....</div>'),
$att: {}
$modelViewController: angular.element().controller('ngModel')
})
homeCtrl = homeDir.$getController();
expect(homeScope.testVar).toBe('test var home');
})
最佳答案
我设置指令规范的方式是
beforeEach(inject(function($rootScope, $compile) {
var htmlString = '' +
'<my-directive some-attr="value">' +
'</my-directive>'
;
element = angular.element(htmlString)
scope = $rootScope.$new();
$compile(element)(scope);
scope.$digest();
}));
element
进行交互。或直接在
scope
上进行断言
关于unit-testing - 如何在 Angular 单元测试中从指令而不是 Controller 模拟范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531832/
我是一名优秀的程序员,十分优秀!