angular ディレクティブ (1.4) があります。コンポーネント構文 (1.5) に切り替えています。フォームのリセット ボタンがクリックされると、既存のコードは form.$setPristine() を呼び出します。コンポーネントに切り替えてジャスミン テストから呼び出そうとすると、フォーム変数が定義されていません。
ctrl.resetForm = function () {
ctrl.employee = {};
ctrl.myForm.$setPristine();
};
テスト ファイル:
$scope = $rootScope.$new();
$scope.myForm = jasmine.createSpyObj('myForm', ['$setPristine']);
ctrl = _$componentController_(
'myComponent', {
$scope: $scope,
EmployeeSvc: EmployeeSvc,
LoggingSvc: LoggingSvc,
SessionSvc: SessionSvc
});
ctrl.$onInit();
form.html
<form name="myForm" class="form" novalidate>
エラー:
debug.html:38 TypeError: Cannot read property '$setPristine' of undefined