Я пытаюсь область доступа контроллера, прикрепленного с помощью ** моей пользовательской директивы angular ** при тестировании в жасмине.
app.directive('MyDirective', function(){
return {
template:...,
scope:...,
controller: function($scope){
$scope.clickMe = function() {
....
};
$scope.message = "";
}
}
Я хочу написать тест в жасмине, чтобы проверить, определен ли метод clickMe или нет.
it('should have 3 methods', function() {
expect(dscope).not.toBe(null);
expect(scope).not.toBe(null);
expect(angular.isFunction(dscope.clickMe)).toBe(true);
expect(dscope.message).toBe(true); }
В beforeEach() я объявлял переменные scope и dscope следующим образом:
beforeEach(inject(function( $rootScope, $compile){
scope = $rootScope.$new();
element = angular.element("<div my-directive></div>");
//bind the empty scope into the directive
$compile(element)(scope);
//access to internal directive scope of our element
dscope = element.scope(); }));
Но когда я запускаю тест, я получаю " ожидать, что false будет истинным". * и ожидать, что undefined не будет null для scope.message