Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS tdd带Jasmine错误:无法读取属性'$喷油器';未定义的_Javascript_Angularjs_Tdd_Jasmine_Inject - Fatal编程技术网

Javascript AngularJS tdd带Jasmine错误:无法读取属性'$喷油器';未定义的

Javascript AngularJS tdd带Jasmine错误:无法读取属性'$喷油器';未定义的,javascript,angularjs,tdd,jasmine,inject,Javascript,Angularjs,Tdd,Jasmine,Inject,我有以下类型的错误: -无法读取未定义的属性“$injector” -无法读取未定义的属性“$modules” -无法调用未定义的方法“selPersonToChange” jasmine html页面中包含的文件是独立的: <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script> <script type="text/javascript" src="lib/ja

我有以下类型的错误: -无法读取未定义的属性“$injector” -无法读取未定义的属性“$modules” -无法调用未定义的方法“selPersonToChange”

jasmine html页面中包含的文件是独立的:

  <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 src="../../angular.min.js"></script>
  <script src="../../angular-mocks.js"></script>
  <script type="text/javascript" src="../form-input/script.js"></script>

  <script type="text/javascript" src="../form-input/tdd.js"></script>

我遇到了同样的问题,使用非小型angular和angular mocks 1.3.0为我解决了这个问题。

您是否尝试过使用非小型angular版本进行测试?不,我应该这样做吗?我没有尝试过使用小型版本进行测试,但是由于您在测试中使用了可注入函数,您可能需要使用缩小的形式调用它,即inject(['param1',function(param1){}]);你用的是哪个版本的angular?angular是最后一个,Jasmine 2
describe("myApp", function(){

    beforeEach(module("mymod"));

    describe("maincontroller", function(){

        var scope;
        var ctrl;
        beforeEach(inject(function($rootScope, $controller){
            scope = $rootScope.$new();
            ctrl = $controller("maincontroller", {$scope:scope});    
        }));

        it("select person", function(){
             a = scope.selPersonToChange();
             expect(a).toEqual(true);     
        });

    });

});