我在我的应用中定义了此路线。
$stateProvider.state('Details', {
url: '/c/:cId/cDetails/:cDId',
templateUrl: 'cData/Details.html',
controller: 'DetailsCtrl',
controllerAs: 'ctrl',
resolve: {
Fields: function ($stateParams,DataFactory) {
return DataFactory.getFields(keys);
}
}
});
这是Details.html的html
<div id="Details" ng-cloak >
<button open-dialog click="ctrl.onClose()"></button>
</div>
<directive-form></directive-form>
我想编写单元测试来检查对话框是否在按钮时打开,如果表单是脏的。表单由指令directive-form。
创建我想我需要编译details.html。我对吗?
我不确定如何编译details.html文件并调用onclick方法。这可能吗?
答案 0 :(得分:0)
这是不可测试的代码。
要使其可测试,请将OpenDialogIfFormIsDirty()
方法移动到DetailsCtrl中的方法。然后删除onclick
属性并将其替换为ng-click="ctrl.openDialogIfFormIsDirty()"
。
这只是第一步。现在在原始问题中发布DetailsCtrl和openDialogIfFormIsDirty()方法的一些代码,我们可以看到如何使其可测试。