基本上,不是测试链接函数本身,而是以编程方式测试指令的结果。您要做的是将指令写到字符串中,并使用
$compile它进行角度处理。然后,您测试输出以确保正确连接了所有设备。
Angular的资料中有很多很好的例子,例如如何对ngRepeat指令进行测试。
您可以看到他们在做什么,即设置指令,更改范围(在本例中为
$rootScope)以确保它已被
$digested,然后测试其输出的DOM以确保一切都正确连接。如果伪指令正在更改范围,那么您也可以测试范围中的内容。
ngClick的测试也很有趣,因为它显示了浏览器交互的测试及其对范围的影响。
为了完整起见,以下是ngClick测试的一个代码段,我认为测试指令的总结很不错:
it('should get called on a click', inject(function($rootScope, $compile) { element = $compile('<div ng-click="clicked = true"></div>')($rootScope); $rootScope.$digest(); expect($rootScope.clicked).toBeFalsy(); browserTrigger(element, 'click'); expect($rootScope.clicked).toEqual(true); }));因此,在你的情况下
scope.doStuff功能,我不考什么它 做 ,这么多,因为我最好的测试无论它影响的范围,并且它随后进行的DOM元素。



