ng-grid를 사용하여 각도 컨트롤러의 재스민 테스트를 수행했습니다. 나는 각 그리드에 selectRow(1, true);
전화하고 싶지만, 내가 할 때 나는 오류가 TypeError: Object #<Object> has no method 'selectRow'
자스민 단위 테스트에서 ng-grid에 selectRow를 호출합니다.
나는이 같은 NG 그리드 설정하는 각 컨트롤러가 있습니다
$scope.myGridOptions = {
data : 'myData',
multiSelect: false,
selectedItems: $scope.mySelectedRow,
afterSelectionChange: function(data) {;
if($scope.mySelectedRow === undefined){
//do somthing
}else{
//do somthing else
}
}
};
내가 다음 자스민이를 유닛 테스트, 여기서 inject 함수를 사용하여 컨트롤러를 인스턴스화하고 컨트롤러 $scope
과 같게 scope
개체를 설정합니다. 나는 그리드를 포함하지 않는 많은 테스트를 가지고 있으며, 그들은 모두 달리고 잘 통과한다.
it('selecting a row in the table does stuff.', function() {
//controller created in before each
rootScope.$digest();//needed to get the controller to initialize
scope.myGridOptions.$selectRow(1, true);
expect(scope.resultOfDoingSomthing).toBe("done");
});
더 코드 예제가 필요한 경우 나 댓글에 알려 보자 :이처럼 테스트입니다 그래서
그러나 나는 선택 핸들러 논리를 테스트 할. 배경에 대해서는 테스트를 실행하기 위해 maven jasime:bdd
을 사용하고 있으므로 jasmine 구성이 그에 의해 설정됩니다. 예상외의 각도 재스민 단위 테스트가 예상대로 진행되고 있기 때문에 문제가 있다고 생각하지 않습니다. NG 그리드 자바 스크립트가 포함되어 있습니다. 또한 을 변경하지 않고 beforeEach
에 추가하려고했습니다. 나는 또한 beforeEach(module("myMod",['ng-grid']));
을 추가하려고 시도했다. 그러나 이것은 $injector
오류로 폭발했다.