使用业力茉莉花进行单元测试时在控制器中出错

时间:2014-11-12 13:32:25

标签: angularjs unit-testing jasmine karma-jasmine

我在使用Karma-Jasmine进行单元测试时遇到此错误

  

ReferenceError:未定义myModule

我的样本测试用例如下..

  

描述(“单元测试”,函数(){

beforeEach(angular.mock.module('myModule.common'));
var scope, ngTableParams, filter ,testTableParam;

it('should have a commonController controller', function () {
    expect(myModule .common.controller('commonController ', function (commonController ) {
            $scope:scope;
            ngTableParams:ngTableParams;
            $filter: filter;
            tableParams: testTableParam
        }
    )).toBeDefined();
});});

我已将模块名称注入myModule.common。 你能建议一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

尝试以下可能有用的代码段

describe('testing myModule.common', function() {
    var $rootScope, $scope, $filter, $controller, ngTableParams, testTableParam;
    beforeEach(module('myModule.common'));
    beforeEach(function() {
        inject(function($injector) {
            $rootScope = $injector.get('$rootScope');
            $scope = $rootScope.$new();
            $filter = $injector.get('$filter');
            testTableParam = $injector.get('testTableParam');
            ngTableParams = $injector.get('ngTableParams');
            $controller = $injector.get('$controller')('commonController ', {
                $scope: $scope
            });

        });
    });
    it('testing commonController ', function() {
        expect('commonController ').toBeDefined();
    });
});

它将解决您的问题