我在指令中定义了一个控制器,并且在对其进行单元测试时遇到了麻烦。如果不将控制器与指令全球化或分离,这是否可能?你能添加一个简单的例子吗?
问问题
2256 次
1 回答
3
在您的情况下,您可以通过从已编译的元素范围访问控制器函数来测试元素控制器。
访问元素范围的最简单方法是在编译的角度元素上调用#scope()函数。
it ('should have a function X on scope', inject(function($rootScope, $compile) {
var element = $compile('<div test-directive></div>')($rootScope);
expect(element.scope().myFunction).toEqual(jasmine.any(Function));
});
这是jsFiddle中使用的以下技术的简单示例。
于 2013-08-11T10:21:32.703 回答