Angularjs单元测试 - 要定义的函数

时间:2014-03-19 06:37:24

标签: angularjs unit-testing jasmine

如何检查是否定义了特定功能?

我正在使用以下单元测试,但是没有工作。

控制器

$scope.filterData = function () {
        $scope.currentPage = "1";
        $scope.displayData($scope.currentPage);
        ......
    }

测试

var ctrl, scope;

beforeEach(function () {
    // load the module
    module('myApp');
    // inject Controller for testing
    inject(function ($rootScope, $controller) {
        scope = $rootScope.$new();
        ctrl = $controller('DataCtrl', { $scope: scope });
    });
});
it('should have a filterData function to be defined', function () {
    expect(scope.filterData()).toBeDefined();
});

1 个答案:

答案 0 :(得分:2)

删除这样的大括号:

it('should have a filterData function to be defined', function () {
   expect(scope.filterData).toBeDefined();
});

既然你不想执行这个函数本身,只是检查它是否存在。