相关疑难解决方法(0)

使用Jasmine与AngularJS时出错

我使用jasmin用以下代码测试我的AngularJs项目

controllersSpec.js

describe('myApp', function(){

    beforeEach(angular.mock.module('myApp'));

    it('should have a mailctrl', function() {
        expect(myApp.mailctrl).toBeDefined();
    });
});
Run Code Online (Sandbox Code Playgroud)

controller.js

var myApp = angular.module('myApp', []);

myApp.controller('mailctrl', ['$scope', '$routeParams', '$rootScope', 'getMailData', '$angularCacheFactory',

    function ($scope, $routeParams, $rootScope, getMailData, $angularCacheFactory) {
           ##....controller content....##
    }
]);
Run Code Online (Sandbox Code Playgroud)

SpecRunner.html

<script type="text/javascript" src="../lib/angular/angular.min.js"></script> <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script> <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script> <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script> <script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script> <script type="text/javascript" src="../test/lib/angular/angular-mocks.js"></script> <script src="../js/controller.js"></script> <script src="../test/unit/controllersSpec.js"></script>

现在当我在浏览器中打开Specrunner.html时,我收到以下错误

预期未定义要定义.
关于上述问题我有以下问题

1)我哪里出错了?
2)如何使用控制器的$ rootScope变量?
3)beforeEach的区别是 什么(angular.mock.module('myApp')); beforeEach(angular.module('myApp')); beforeEach(模块('myApp')); …

jasmine angularjs

3
推荐指数
1
解决办法
2884
查看次数

标签 统计

angularjs ×1

jasmine ×1